cocos2d-xUI编译器导出的json,程序中怎么读取?遇到自定义字体UILabelBMFont,怎么在程序中修改他的值?怎么将json再次导入编译器中?

为什么要写博客呢?其实很简单,我只是想把我做游戏过程中碰到的问题告诉大家,我也相信会有人也会碰到我这样的问题,让大家少走点弯路,着过这篇博客对大家有帮助,希望你们耐心看玩!

我之前还在沉溺于用程序编写UI,咦!为什么别人弄的那么快?额,原来是他们用了UI编译器啊!我用程序写,代码很多,而且要不断的调试,很浪费时间,而且每个控件之间怎么排列我要去算位置,何必这么麻烦,用 Cocos Studio编译器啊,四种编译器由你选择,首先呢?应该给大家介绍这个编译器怎么用,但是我没必要要,官方文档讲的清楚,http://upyun.cocimg.com/CocoStudio/helpdoc/v1.0.0.0/zh/index.html,你们可以自己去查看,很简单的,半个小时全部学会,当然这里我说一下UI编译器中遇到的问题,UI编译器里面介绍了怎么导入json,但是我用了另一种

Layout* _widget = dynamic_cast(cocostudio::GUIReader::getInstance()->widgetFromJsonFile("art/ui/ui_TapHero_zhuye.json"));
_widget->setPosition(Vec2((winSize.width) / 2,
(winSize.height) / 2));
_widget->setAnchorPoint(Vec2(0.5,0.5));

//前提是你要导入几个库:libGUI、libExtensions、libCocosStudio,然后命名空间

//使用UI必须要导入下面这两个
#include "ui/CocosGUI.h"
#include "cocosbuilder/CocosBuilder.h"
#include "editor-support/cocostudio/CCSGUIReader.h"
using namespace cocos2d::ui;
using namespace std;
using namespace cocos2d::extension;
USING_NS_CC;


这样就可以了,最主要的我并不是介绍这个,

当然Cocos Studio里面有个自定义的字体(UILabelBMFont的类是一个UIWidget子类,它实现了在触摸屏上的自定义字体控件,大概是这样说的,官网上),我要在程序中修改他的值,我去,搞了我好久,百度呀百度,始终没找到,各种乱七八糟的答案,记过我查看API,咦!发现TextBMFont,好像有那么点相似,然后我这样用((TextBMFont *)_widget->getChildByName("FNT_GUAN_QIA"))->setText("0");//可以将cocosstdion转换为TextBMFont字体格式然后设置他的text,就可以修改这个组件的文字了


接下来最后一个比较简单吧,将json反倒入Cocos Studio,哎,反正当初我遇到这个我是弄了好久,其实很简单,就是文件--导入模板,等下我会贴图,(但是前提,你要找到你json里面包含的那个.plist文件和plist文件对应的图片啊,不然他是不会显示出来的哦!)



你可能感兴趣的:(cocos2d-x)