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
  • 相关阅读:
    【bzoj2588】Count on a tree
    【bzoj4205】卡牌配对
    【bzoj1502】月下柠檬树
    【learning】快速沃尔什变换FWT
    【bzoj3672】购票
    bzoj1402:[HAOI2008]硬币购物
    bzoj1090:[SCOI2003]字符串折叠
    bzoj1260[CQOI2007]涂色paint
    2016.08.07计算几何总结测试day2
    2016.08.06计算几何总结测试day1
  • 原文地址:https://www.cnblogs.com/llguanli/p/6841454.html
Copyright © 2011-2022 走看看