zoukankan      html  css  js  c++  java
  • Cocostudio学习笔记(5) Text + TextAtlas + TextBMFont

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

    今晚研究的控件就是三个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
  • 相关阅读:
    axios
    vue-cli-service 报错
    避免大型、复杂的布局和布局抖动
    vue 父子通信
    == 区别 === ,!= 区别 !==
    全选/取消全选
    vue 注意
    pyparsing:自定义一个属于你的语法解析器(更新中)
    《python解释器源码剖析》第11章--python虚拟机中的控制流
    collections:内建模块,提供额外的集合类
  • 原文地址:https://www.cnblogs.com/llguanli/p/6841454.html
Copyright © 2011-2022 走看看