博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocostudio学习笔记(4) LoadingBar+ TextField
阅读量:5336 次
发布时间:2019-06-15

本文共 3950 字,大约阅读时间需要 13 分钟。

这同时录制两个控件的使用方法: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
(Helper::seekWidgetByName(progress,"progressBar"));loading->setPosition(Point(300,300));
恩。类名就是
LoadingBar啦。

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

static LoadingBar* create();//textureName是进度条的纹理图片,percentage是进度条初始进度,默觉得0static 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
(Helper::seekWidgetByName(TextFieldUI,"editBox"));m_input->setPosition(Point(300,300));4、看下TextField的经常使用API://创建TextFieldstatic 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();//获得上面的styleTextbool 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、不写了。

尊重原创,转载请注明来源:

版权声明:本文博主原创文章,博客,未经同意不得转载。

转载于:https://www.cnblogs.com/blfshiye/p/4853449.html

你可能感兴趣的文章
codeforces 1041A Heist
查看>>
字典常用方法
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
【bzoj5016】[Snoi2017]一个简单的询问 莫队算法
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Zookeeper概述
查看>>