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 ...
随机推荐
- 与众不同 windows phone (28) - Feature(特性)之手机方向, 本地化, 应用程序的试用体验, 系统主题资源, 本地数据的加密解密
原文:与众不同 windows phone (28) - Feature(特性)之手机方向, 本地化, 应用程序的试用体验, 系统主题资源, 本地数据的加密解密 [索引页][源码下载] 与众不同 wi ...
- dll导入导出资源文件查看工具 InspectExe
InspectExe lets you explore and diagnose problems with Win32 applications. It is integrated directly ...
- java大数处理
比较两个数大小 import java.math.*; import java.util.*; public class Main { public static void main(String[] ...
- kill命令"-1"这个参数到底是杀进程还是reload?(转)
kill-1:重新读取一次参数的配置文件 (类似 reload) 这句话给我的感觉是把进程杀掉后重启进程,即 reload.而我查了下 man kill,-1 对应的 signal 是 SIGHUP, ...
- win7下硬盘安装win7+CentOS双系统方法
原文:win7下硬盘安装win7+CentOS双系统方法 LinuxCentOS安装大致介绍: win7下硬盘安装win7+CentOS双系统方法 原则: 所有的看完在装,请仔细看 一 条件: 1. ...
- hdu4280(最大流)
传送门:Island Transport 题意:有N个岛屿 M条无向路 每个路有一最大允许的客流量,求从最西的那个岛屿最多能运用多少乘客到最东的那个岛屿. 分析:无向图正反都加弧,权值一样,这题点多, ...
- poj3678(two-sat)
传送门:Katu Puzzl 题意:n个点,点的取值可以是0或者1.m条边,有权值,有运算方式(并,或,异或),要求和这条边相连的两个点经过边上的运算后的结果是边的权值.问你有没有可能把每个点赋值满足 ...
- [置顶] ※数据结构※→☆线性表结构(stack)☆============栈 序列表结构(stack sequence)(六)
栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表.栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据.栈 ...
- 2014/08/23——OJ出现waiting...
问题: 今天中午,裴主解决OJ他缓慢的问题后,开着.我跟着oj他递给发现了一个话题waiting该..... 和全哥.均觉得測评程序挂了.于是重新启动測系统,还waiting.....(測评系统的进程 ...
- Apache配置虚拟文件夹
作为一个Android开发人员,一直以为,至少应该有一个server语言,最近慢慢学习php,当然学习Apache使用.本文介绍Win7环境下,怎样配置Apache的虚拟文件夹. 首先,找到我们Apa ...