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 ...
随机推荐
- 阅读代码分析工具Understand 2.0试用
Understand 2.0是一款源码阅读分析软件,功能强大.试用过一段时间后,感觉相当不错,确实能够大大提高代码阅读效率. 因为Understand功能十分强大,本文不可能详尽地介绍它的全部功能,所 ...
- HDU1452Happy 2004(高次幂取模+积性函数+逆元)
题目意思:2004^x的所有正因数的和(S)对29求余:输出结果: 原题链接 题目解析:解析参照来源:点击打开链接 因子和 6的因子是1,2,3,6; 6的因子和是s(6)=1+2+3+6=12; 2 ...
- 最想做的三个Delphi项目:Paint,IM,SQL,另外还有Smart,TMS,FMX,UML,FreePascal,Python4Delphi,Cheat Engine
都是绝美项目- 如果有时间,要做的项目:0. 整整5个Cloud项目(可带来商业收益,其中还包括手机发送, S/D/N/L/NetDriver)1. Heidi/front/SQLITE STUDIO ...
- Xcode免证书真机调试,解决cannot read entitlement data问题
本文是根据某个帖子写的(帖子链接在最后放出),但是在配置的过程中,遇到了一个纠结的问题,这个问题折腾了我N久,一直没搞明白到底是什么原因,问题如下: 按照原帖上写的每一步去做了,但是在最后编译的时候出 ...
- LLVM每日谈21 一些编译器和LLVM/Clang代码
作者:闪亮宁(snsn1984) 一些自己的收藏LLVM/Clang代码,而他自己写一些一点点LLVM/Clang译器的代码.在这里把这些代码库分享出来,欢迎大家交流探讨. 1.crange http ...
- Perl语言学习笔记 9 正则表达式处理文本
1.更换 s/PATTERN/REPLACE/; #返回是否更换成功布尔值 能够使用捕获变量,如:s/(\w)/$1/ 匹配失败则不做不论什么处理 2.定界符 对于没有左右之分的定界符.反复三次就可以 ...
- 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
原文:解决windows下的mysql匿名登陆无法使用mysql数据库的问题 我在windows下安装了mysql,但是不用密码就能登进去,而root明明是有密码的,我用select user()命令 ...
- [置顶] think in java interview-高级开发人员面试宝典(七)
上两周研发任务太紧了,所以担搁了一下,我们继续我们的面试之旅. 下面是一个基于图书系统的15道SQL问答,供大家参考 问题描述:本题用到下面三个关系表:CARD 借书卡. CNO 卡号,N ...
- 部署、收回和删除解决方式----STSADM和PowerShell
部署.收回和删除解决方式----STSADM和PowerShell 由于近期总是要部署wsp解决方式,所以常常要用到命令行或者PowerShell.所以有必要将命令集中放在这里.在部署 ...
- MySQL中Procedure事务编写基础笔记
原文:MySQL中Procedure事务编写基础笔记 目录: 一.PROCEDURE: 二.CREATE PROCEDURE基本语法: 三.PROCEDURE小进阶 3.1.基本的DECLARE语 ...