这同时录制两个控件的使用方法:LoadingBar和 TextField。

----------------------------------------------------------------------------------------------------------------------------

LoadingBar

---------------------------------------------------------------------------------------------------------------------------

今晚就学LoadingBar,翻译成cocos2dx就是progressTimer,翻译成中文就是进度条,翻译成英文就是progressBar,翻译成日语就是“亚美爹”。额。。
1、先在cocostudio中创建LoadingBar的project
。最后导入到cocos2dx中的项目资源文件夹下(Resources)。
2、打开cocos2dxproject,加入cocostudio的widget到场景中

  1. cocos2d::ui::Widget* progress = GUIReader::getInstance()->widgetFromJsonFile("ProgressBarUi/ProgressBarUi_1.json");
  2. this->addChild(progress,2);

3、从widget提取LoadingBar,然后对它单独做一些操作,如弯下腰。翘屁股什么的。

  1. LoadingBar* loading = static_cast<LoadingBar*>(Helper::seekWidgetByName(progress,"progressBar"));
  2. loading->setPosition(Point(300,300));

恩。类名就是LoadingBar啦。

4、到LoadingBar的源代码里看看它都有啥东东

  1. static LoadingBar* create();
  2. //textureName是进度条的纹理图片,percentage是进度条初始进度,默觉得0
  3. static LoadingBar* create(const std::string& textureName, int percentage = 0);
  4.  
  5. //先看下进度条都有哪些类型,例如以下枚举:
  6. typedef enum
  7. {
  8. LoadingBarTypeLeft,//表示进度条是从左向右递增
  9. LoadingBarTypeRight//表示进度条从又向左递增
  10. }LoadingBarType;
  11.  
  12. //设置进度条的方向。
  13. void setDirection(LoadingBarType dir);
  14. //获得进度条的方向,返回值为整型
  15. int getDirection();
  16.  
  17. //设置进度和返回当前进度
  18. void setPercent(int percent);
  19. int getPercent();
  20. //其它关于九宫格的我就没去看啦

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

  1. Widget* TextFieldUI = GUIReader::getInstance()->widgetFromJsonFile("TextField/PTextFieldUi_1.json");
  2. this->addChild(pageViewUI,2);

3、单独取出TextField。

  1. TextField* m_input = static_cast<TextField*>(Helper::seekWidgetByName(TextFieldUI,"editBox"));
  2. m_input->setPosition(Point(300,300));
  3. 4、看下TextField的经常使用API
  4. //创建TextField
  5. static TextField* create();
  6. static TextField* create(const std::string& placeholder,//设置在未输入不论什么文字前显示的内容
  7. 						 const std::string& fontName,//设置字体格式
  8. 						 int fontSize);//设置字体大小
  9. //设置TextField的触摸范围,当手指触摸坐标在这个触摸范围,那么就可以输入文字
  10. void setTouchSize(const Size &size);
  11. Size getTouchSize();
  12. void setTouchAreaEnabled(bool enable);//设置是否打开触摸
  13. virtual bool hitTest(const Point &pt);//what is this?
  14. void setText(const std::string& text);//设置输入框文本
  15. void setPlaceHolder(const std::string& value);//设置默认显示文本
  16. const std::string& getPlaceHolder();//获得默认显示文本
  17. void setFontSize(int size);//设置字体大小
  18. int getFontSize();//获得字体大小
  19. void setFontName(const std::string& name);//设置字体格式
  20. const std::string& getFontName();//获得字体格式
  21. const std::string& getStringValue();//获得输入框中的文本
  22. void setMaxLengthEnabled(bool enable);//设置是否限制输入字数
  23. bool isMaxLengthEnabled();//推断是否限制输入字数
  24. void setMaxLength(int length);//设置最大输入字数
  25. int getMaxLength();//获得最大输入字数
  26. void setPasswordEnabled(bool enable);//设置文本格式为password格式
  27. bool isPasswordEnabled();//推断是否为password格式
  28. void setPasswordStyleText(const char* styleText);//当为password格式时。输入的文本用styleText 来替代显示
  29. const char* getPasswordStyleText();//获得上面的styleText
  30. bool getAttachWithIME();
  31. void setAttachWithIME(bool attach);
  32. bool getDetachWithIME();
  33. void setDetachWithIME(bool detach);
  34. bool getInsertText();
  35. void setInsertText(bool insertText);
  36. bool getDeleteBackward();
  37. void setDeleteBackward(bool deleteBackward);
  38. 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. 与众不同 windows phone (28) - Feature(特性)之手机方向, 本地化, 应用程序的试用体验, 系统主题资源, 本地数据的加密解密

    原文:与众不同 windows phone (28) - Feature(特性)之手机方向, 本地化, 应用程序的试用体验, 系统主题资源, 本地数据的加密解密 [索引页][源码下载] 与众不同 wi ...

  2. dll导入导出资源文件查看工具 InspectExe

    InspectExe lets you explore and diagnose problems with Win32 applications. It is integrated directly ...

  3. java大数处理

    比较两个数大小 import java.math.*; import java.util.*; public class Main { public static void main(String[] ...

  4. kill命令"-1"这个参数到底是杀进程还是reload?(转)

    kill-1:重新读取一次参数的配置文件 (类似 reload) 这句话给我的感觉是把进程杀掉后重启进程,即 reload.而我查了下 man kill,-1 对应的 signal 是 SIGHUP, ...

  5. win7下硬盘安装win7+CentOS双系统方法

    原文:win7下硬盘安装win7+CentOS双系统方法 LinuxCentOS安装大致介绍: win7下硬盘安装win7+CentOS双系统方法 原则: 所有的看完在装,请仔细看 一 条件: 1. ...

  6. hdu4280(最大流)

    传送门:Island Transport 题意:有N个岛屿 M条无向路 每个路有一最大允许的客流量,求从最西的那个岛屿最多能运用多少乘客到最东的那个岛屿. 分析:无向图正反都加弧,权值一样,这题点多, ...

  7. poj3678(two-sat)

    传送门:Katu Puzzl 题意:n个点,点的取值可以是0或者1.m条边,有权值,有运算方式(并,或,异或),要求和这条边相连的两个点经过边上的运算后的结果是边的权值.问你有没有可能把每个点赋值满足 ...

  8. [置顶] ※数据结构※→☆线性表结构(stack)☆============栈 序列表结构(stack sequence)(六)

    栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表.栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据.栈 ...

  9. 2014/08/23——OJ出现waiting...

    问题: 今天中午,裴主解决OJ他缓慢的问题后,开着.我跟着oj他递给发现了一个话题waiting该..... 和全哥.均觉得測评程序挂了.于是重新启动測系统,还waiting.....(測评系统的进程 ...

  10. Apache配置虚拟文件夹

    作为一个Android开发人员,一直以为,至少应该有一个server语言,最近慢慢学习php,当然学习Apache使用.本文介绍Win7环境下,怎样配置Apache的虚拟文件夹. 首先,找到我们Apa ...