Cocostudio学习笔记(4) LoadingBar+ TextField
这同时录制两个控件的使用方法:LoadingBar和 TextField。
----------------------------------------------------------------------------------------------------------------------------
LoadingBar
---------------------------------------------------------------------------------------------------------------------------
今晚就学LoadingBar,翻译成cocos2dx就是progressTimer,翻译成中文就是进度条,翻译成英文就是progressBar,翻译成日语就是“亚美爹”。额。。
1、先在cocostudio中创建LoadingBar的project。最后导入到cocos2dx中的项目资源文件夹下(Resources)。
2、打开cocos2dxproject,加入cocostudio的widget到场景中:
cocos2d::ui::Widget* progress = GUIReader::getInstance()->widgetFromJsonFile("ProgressBarUi/ProgressBarUi_1.json");
this->addChild(progress,2);
3、从widget提取LoadingBar,然后对它单独做一些操作,如弯下腰。翘屁股什么的。
LoadingBar* loading = static_cast<LoadingBar*>(Helper::seekWidgetByName(progress,"progressBar"));
loading->setPosition(Point(300,300));
恩。类名就是LoadingBar啦。
4、到LoadingBar的源代码里看看它都有啥东东:
static LoadingBar* create();
//textureName是进度条的纹理图片,percentage是进度条初始进度,默觉得0
static LoadingBar* create(const std::string& textureName, int percentage = 0); //先看下进度条都有哪些类型,例如以下枚举:
typedef enum
{
LoadingBarTypeLeft,//表示进度条是从左向右递增
LoadingBarTypeRight//表示进度条从又向左递增
}LoadingBarType; //设置进度条的方向。
void setDirection(LoadingBarType dir);
//获得进度条的方向,返回值为整型
int getDirection(); //设置进度和返回当前进度
void setPercent(int percent);
int getPercent();
//其它关于九宫格的我就没去看啦
5、事实上cocostudio的LoadingBar比cocos2dx的progressTimer更好用,感觉progressTimer的一些初始化设置比較麻烦,对于新手来说较难理解(额,事实上我由于我当初刚接触progressTimer被setMidPoine这个API搞得有点晕...)。
对于设置loadingBar的方向。事实上在cocostudio的GUI界面的属性面板就能够设置啦。
只是我发现不论是在cocos2dx中或者是在cocostudio中。LoadingBar在设置方向上都没有一个从上到下或者从下到上的。后来想想,仅仅要将loadingBar旋转个方向不就能够了嘛,呼呼。
恩。雨还在下。但我要去睡觉咯。
----------------------------------------------------------------------------------------------------------------------------
TextField
---------------------------------------------------------------------------------------------------------------------------
好吧,以下我简单的说几句话:
1、我在cocostudio的场景中加入两个TextField输入框,一个用来输入明文,一个用来输入password。
怎么设置成password格式大家略微看下就知道怎么回事了。
最后将project导出到cocos2dx的资源文件夹下。
2、在cocos2dx加入上面的两个TextField控件,怎么加入呢?肯定是要先载入Widget
Widget* TextFieldUI = GUIReader::getInstance()->widgetFromJsonFile("TextField/PTextFieldUi_1.json");
this->addChild(pageViewUI,2);
3、单独取出TextField。
TextField* m_input = static_cast<TextField*>(Helper::seekWidgetByName(TextFieldUI,"editBox"));
m_input->setPosition(Point(300,300));
4、看下TextField的经常使用API:
//创建TextField
static TextField* create();
static TextField* create(const std::string& placeholder,//设置在未输入不论什么文字前显示的内容
const std::string& fontName,//设置字体格式
int fontSize);//设置字体大小 //设置TextField的触摸范围,当手指触摸坐标在这个触摸范围,那么就可以输入文字
void setTouchSize(const Size &size);
Size getTouchSize(); void setTouchAreaEnabled(bool enable);//设置是否打开触摸
virtual bool hitTest(const Point &pt);//what is this?
void setText(const std::string& text);//设置输入框文本
void setPlaceHolder(const std::string& value);//设置默认显示文本
const std::string& getPlaceHolder();//获得默认显示文本
void setFontSize(int size);//设置字体大小
int getFontSize();//获得字体大小
void setFontName(const std::string& name);//设置字体格式
const std::string& getFontName();//获得字体格式 const std::string& getStringValue();//获得输入框中的文本 void setMaxLengthEnabled(bool enable);//设置是否限制输入字数
bool isMaxLengthEnabled();//推断是否限制输入字数
void setMaxLength(int length);//设置最大输入字数
int getMaxLength();//获得最大输入字数
void setPasswordEnabled(bool enable);//设置文本格式为password格式
bool isPasswordEnabled();//推断是否为password格式
void setPasswordStyleText(const char* styleText);//当为password格式时。输入的文本用styleText 来替代显示
const char* getPasswordStyleText();//获得上面的styleText bool getAttachWithIME();
void setAttachWithIME(bool attach);
bool getDetachWithIME();
void setDetachWithIME(bool detach);
bool getInsertText();
void setInsertText(bool insertText);
bool getDeleteBackward();
void setDeleteBackward(bool deleteBackward);
void addEventListenerTextField(Ref* target, SEL_TextFieldEvent selecor);//加入回调函数
5、不写了。
尊重原创,转载请注明来源:http://blog.csdn.net/star530/article/details/37368861
版权声明:本文博主原创文章,博客,未经同意不得转载。
Cocostudio学习笔记(4) LoadingBar+ TextField的更多相关文章
- Cocostudio学习笔记(1) 扯扯蛋 + 环境搭建
转眼七月份就到了,2014已经过了一半,而我也最终算是有"一年工作经验"了,开心ing. 回想这一年Cocos2dx的游戏开发经历,去年下半年重心主要在游戏的逻辑上,而今年上半年重 ...
- Cocostudio学习笔记(3) ImageView + Slider
此记录使用两个控制流:ImageView 和 Slide. ---------------------------------------------------------------------- ...
- Cocostudio学习笔记(2) Button + CheckBox
这篇记录了两个控件的使用流程:Button 和 CheckBox. ------------------------------------------------------------------ ...
- Cocostudio学习笔记(5) Text + TextAtlas + TextBMFont
下午一群大学生到我们公司參观学习,搞得我好紧张.于是滔滔不绝的给他们介绍了怎样开发一款游戏... 今晚研究的控件就是三个label:Text,TextAtlas,TextBMFont 我先在cocos ...
- [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Flutter学习笔记(21)--TextField文本框组件和Card卡片组件
如需转载,请注明出处:Flutter学习笔记(21)--TextField文本框组件和Card卡片组件 今天来学习下TextField文本框组件和Card卡片组件. 只要是应用程序就少不了交互,基本上 ...
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- Ext2.x学习笔记
Ext2.X学习笔记一 一.ExtJS简介 1.1 什么是Ext JS? · Ext JS是一个Ajax框架,可以用来开发富客户端的Ajax应用,是一个用javascript写的,主要用于创建前端用 ...
- Extjs 学习笔记1
学习笔记 目 录 1 ExtJs 4 1.1 常见错误处理 4 1.1.1 多个js文件中有相同的控件,切换时无法正常显示 4 1.1.2 Store的使用方法 4 1.1.3 gridPanel ...
随机推荐
- VS2013中安装配置和使用Boost库
源地址:http://www.itnose.net/detail/6077953.html 时间:2014.07.24 地点:基地 ---------------------------------- ...
- 通过设置Referer反"反盗链"
package cn.searchphoto.util; import java.io.File; import java.io.FileOutputStream; import java.io.In ...
- [Cocos2d-x]博客推荐
推荐一下大神们的博客: JackyStudio: http://blog.csdn.net/jackyvincefu/article/category/1591201/3 老G的小屋: http:// ...
- Android 吸入动画效果详解
1,背景 吸入(Inhale)效果,最初我是在iOS上面看到的,它是在Note程序中,用户可能添加了一页记录,在做删除时,它的删除效果是:这一页内容吸入到一个垃圾框的图标里面.请看下图所示: ==== ...
- OCA读书笔记(15) - 执行数据库备份
物理备份 -- 数据文件,控制文件,日志文件,参数文件 数据库备份 冷备 -- 归档和非归档均可以 什么时候必须用冷备?1. 数据库的模式为非归档的2. 用于现场保护 冷备的过程:1. 首先查看备份文 ...
- SPOJ DISUBSTR(字符串hash)
传送门:DISUBSTR 题意:给定一个字符串,求不同子串个数. 分析:由于数据较小,直接枚举长度为1,2...n的所有子串进行hash即可,复杂度(O(n^2)),后缀数组才是正解(O(nlogn) ...
- hive字符串函数
1. 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length('abcedfg') f ...
- 全国各大 oj 分类题集...
各种题集从易到难刷到手软 你准备好了吗? 准备剁手吧
- atitit.团队建设--要不要招技术储备人才的问题
atitit.团队建设--要不要招技术储备人才的问题 1. 人才的储备和招聘. 1 1.1. 模式1. 养兵千日,用兵一时 1 1.2. 模式2,暂时抱佛脚,也不多招一个人 1 ...
- TCP/IP协议栈源码图解分析系列10:linux内核协议栈中对于socket相关API的实现
题记:本系列文章的目的是抛开书本从Linux内核源代码的角度详细分析TCP/IP协议栈内核相关技术 轻松搞定TCP/IP协议栈,原创文章欢迎交流, byhankswang@gmail.com linu ...