下午一群大学生到我们公司參观学习,搞得我好紧张。于是滔滔不绝的给他们介绍了怎样开发一款游戏...

今晚研究的控件就是三个label:Text,TextAtlas,TextBMFont

我先在cocostudio中将三种标签都拖入到场景中。分别命名为:label。atlas。bitMap。最后导出project。在cocos2dx载入该Widget

cocos2d::ui::Widget* labelUI = GUIReader::getInstance()->widgetFromJsonFile("LabelUI/LabelUI_1.json");
this->addChild(labelUI,2);

这里可能有人会说:既然之前已经声明了cocos2d::ui的作用域,那在这里为什么不直接使用Widget呢?我的回答是,我也是新手,对于这些API的写法还不够习惯,所以仅仅能通过这样的反复书写的方式加深印象。

一、先看Text
1、将label从Widget中取出来,代码例如以下:

Text* m_label = static_cast<Text*>(Helper::seekWidgetByName(labelUI,"label"));
m_label->setPosition(Point(300,300));

2、看下Text的源代码

static Text* create();//创建
static Text* create(const std::string& textContent,
const std::string& fontName,
int fontSize); void setText(const std::string& text);//设置显示的文本
const std::string& getStringValue();获得text中的文本内容 ssize_t getStringLength();//获得text中字符串长度

事实上和cocos2dx中的Label的用法几乎相同,这里就不多看了。

二、TextAtlas
1、将label中Widget中取出

TextAtlas* m_atlas = static_cast<TextAtlas*>(Helper::seekWidgetByName(labelUI,"atals"));
m_atlas->setPosition(Point(400,300));

2、无语

三、TextBMFont
1、将label从Widget中取出

TextBMFont* m_bmf = static_cast<TextBMFont*>(Helper::seekWidgetByName(labelUI,"bitMap"));
m_bmf->setPosition(Point(200,300));

2、无语

四、总结,上面我之所以没有做更深入的介绍,是由于我发现cocostudio中的Text与cocos2dx中的Label差点儿没啥区别,所以我也就懒得介绍。之前博客对3.0后的Label介绍得都挺清楚了。

尊重原创。转载请注明来源:http://blog.csdn.net/star530/article/details/37370285

Cocostudio学习笔记(5) Text + TextAtlas + TextBMFont的更多相关文章

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

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

  2. Cocostudio学习笔记(4) LoadingBar+ TextField

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

  3. jQuery学习笔记—— .html(),.text()和.val()的使用

    本节内容主要介绍的是如何使用jQuery中的.html(),.text()和.val()三种方法,用于读取,修改元素的html结构,元素的文本内容,以及表单元素的value值的方法.jQuery中为我 ...

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

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

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

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

  6. go 学习笔记 - sublime text 环境配置

    园里已经有了一篇相当不错的配置说明文章,只是现在gosublime不再支持2.x.文章里的操作在sublimetext3 里一样可以使用 文章地址 : http://www.cnblogs.com/s ...

  7. html学习笔记 - sublime text 插件安装

    command + shift + p 呼出搜索界面 输入 Packge Control:Install Package 进入到插件搜索列表 Emmet -- >快速生成html标签结构 Emm ...

  8. cocos代码研究(12)UI之Widget学习笔记

    理论基础 Widget类,所有UI控件的基类. 这类继承自ProtectedNode和LayoutParameterProtocol. 如果你想实现自己的UI控件,你应该继承这个类. 被 VideoP ...

  9. cocos代码研究(21)Widget子类Text,TextAtlas,TextBMFont学习笔记

    理论基础 Text类又称ttf格式文本,可以用ttf文件或者系统自带字体,支持文字多,但是ttf文件格式体积大,渲染速度慢: TextBMFont类又称fnt格式文本,纹理创建,根据纹理上有的文字来显 ...

随机推荐

  1. 使用mapMutations扩展写法后参数传递的办法

    在没使用扩展办法的时候,在组件当中通过下面方式进行传参 testMethods(data) { this.$store.commit("add",data) } 而使用了扩展函数了 ...

  2. 洛谷 [P3338] 力

    FFT \[E_i = F_i / q_i = \sum_{i<j} \frac {q_j} {(i - j)^2} - \sum _{ i > j} \frac{q _ j} {(i - ...

  3. why switch kernel mode and user mode expensive

    Because that means context switching(save context, restore context)

  4. 修复受损的linux引导

    想来楼主玩linux差不多近20年了,从redhat,mandrke,manjaro,汉化,听歌.看电视电影.上网.打游戏.配置打印机等,碰到的问题一一解决了,但是一直对装好linux后重新安装win ...

  5. Educational Codeforces Round 34 A. Hungry Student Problem【枚举】

    A. Hungry Student Problem time limit per test 1 second memory limit per test 256 megabytes input sta ...

  6. Needle in a haystack: efficient storage of billions of photos 【转】

    转自09年的blog,因为facebook在国内无法访问,故此摘录. The Photos application is one of Facebook’s most popular features ...

  7. black hack

    黑客技 关于在不知道系统的情况下 long long 的使用时 那么 #ifdef WIN32 #define LL "%I64d" #else #define LL " ...

  8. 11i REP-3000: 启动 Oracle Toolkit 时发生内部错误.

    +---------------------------------------------------------------------------+ 应用对象程序库: Version : 11. ...

  9. Win7下搭建外网环境的SVN服务器

    最近想跟一帮朋友做点东西,由于几个朋友都身处异地,要想实现版本控制,只能自己搭建一个小的服务器,通过互联网环境来实现版本控制了.本来也在网上找了好多资料,但是总是缺少一些必要的信息,导致最后连接不上服 ...

  10. 学习PHP:PHP提取的时间出现不准确

    php函数date("Y-n-d   H-i-s");   输出的时间与当地时间居然相差了8个小时.     原因是从php5.1.0开始,php.ini里加入了date.time ...