这同时录制两个控件的使用方法: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的更多相关文章

  1. Cocostudio学习笔记(1) 扯扯蛋 + 环境搭建

    转眼七月份就到了,2014已经过了一半,而我也最终算是有"一年工作经验"了,开心ing. 回想这一年Cocos2dx的游戏开发经历,去年下半年重心主要在游戏的逻辑上,而今年上半年重 ...

  2. Cocostudio学习笔记(3) ImageView + Slider

    此记录使用两个控制流:ImageView 和 Slide. ---------------------------------------------------------------------- ...

  3. Cocostudio学习笔记(2) Button + CheckBox

    这篇记录了两个控件的使用流程:Button 和 CheckBox. ------------------------------------------------------------------ ...

  4. Cocostudio学习笔记(5) Text + TextAtlas + TextBMFont

    下午一群大学生到我们公司參观学习,搞得我好紧张.于是滔滔不绝的给他们介绍了怎样开发一款游戏... 今晚研究的控件就是三个label:Text,TextAtlas,TextBMFont 我先在cocos ...

  5. [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  6. Flutter学习笔记(21)--TextField文本框组件和Card卡片组件

    如需转载,请注明出处:Flutter学习笔记(21)--TextField文本框组件和Card卡片组件 今天来学习下TextField文本框组件和Card卡片组件. 只要是应用程序就少不了交互,基本上 ...

  7. 【swift学习笔记】二.页面转跳数据回传

    上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...

  8. Ext2.x学习笔记

    Ext2.X学习笔记一 一.ExtJS简介  1.1 什么是Ext JS? · Ext JS是一个Ajax框架,可以用来开发富客户端的Ajax应用,是一个用javascript写的,主要用于创建前端用 ...

  9. Extjs 学习笔记1

    学习笔记 目   录 1 ExtJs 4 1.1 常见错误处理 4 1.1.1 多个js文件中有相同的控件,切换时无法正常显示 4 1.1.2 Store的使用方法 4 1.1.3 gridPanel ...

随机推荐

  1. SharePoint场管理-PowerShell(二)

    1. 合并Log文件 Merge-SPLogFile –Path E:\Logs\MergedLog.log –StartTime "1/19/2010" –Overwrite 2 ...

  2. 14.5.1 Resizing the InnoDB System Tablespace

    14.5.1 Resizing the InnoDB System Tablespace 本节描述如何增加或者减少InnoDB 系统表空间的大小 增加InnoDB 系统表空间的大小 最简单的方式增加I ...

  3. 《转》div 中间固定 左右自适应实现

    <转自>:http://www.w3cplus.com/css/layout-column-three 对于我来说,这是一种很少碰到的布局方法,不知道大家有何体会,那么下面我们一起来看这种 ...

  4. poj 3270 更换使用

    1.确定初始和目标状态. 明确.目标状态的排序状态. 2.得出置换群,.比如,数字是8 4 5 3 2 7,目标状态是2 3 4 5 7 8.能写为两个循环:(8 2 7)(4 3 5). 3.观察当 ...

  5. Oracle“记录被另一个用户锁住” 无法更新删除的解决办法

    1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b. ...

  6. 为什么 string.find()返回值是-1

    之前好像在哪里见到过这个问题,时间有点久,想不起来了,今天写字符串又碰到这个问题,书上给出的定义是当string.find()没有找到时返回的是一个非常大的值,网上有人说是-1,两种说法都对,由于整数 ...

  7. 用N2N搭建简单的VPN

    1.   概述 N2N是一款开源的P2P VPN软件,其作者是著名的开源网管软件ntop的作者Luca Deri. N2N是一个双层架构的VPN,它让用户能够在网络层上开发P2P应用的典型功能,而不是 ...

  8. C#关于ref与out的总结

    原文:C#关于ref与out的总结 首先大概说下函数调用的过程,首先为被调用函数分配存储空间(分为代码区和变量区)之后将调用函数传递过来的变量压栈,然后逐一弹栈进行处理,之后进行运算,将需要返回的变量 ...

  9. Java 使用AES/CBC/PKCS7Padding 加解密字符串

    介于java 不支持PKCS7Padding,只支持PKCS5Padding 但是PKCS7Padding 和 PKCS5Padding 没有什么区别要实现在java端用PKCS7Padding填充, ...

  10. 水晶易表 Xcelsius 2008 安装指南 完美支持office2010(亲手体验)

    Xcelsius2008水晶易表是一款很好用的软件.网上已经有破解方法,大家能够尝试一下这款经典软件了. 可是网上对于安装破解过程介绍的不详细或者纷乱,今天我汇总了全部的方法最终成功的安装上了,而且支 ...