[cocos2d-x] 资源json的载入过程

这块代码主要是文件CCSGUIReader  
 
CCSGUIReader 的作用是解析json组合成用户需要的UIWiget对象.

实例:

Widget* m_uiRoot = cocostudio::GUIReader::shareReader()->widgetFromJsonFile("fruit_ui_1.json");

-》

往下面走

return widgetFromJsonDocument(jsonDict, fileName, NULL);

jsonDict:读到的json文件内容,fileName json文件名

-》

再往下走

widget = pReader->createWidget(jsonDict, m_strFilePath.c_str(), fileName);

通过jsonDict里面的配置和属性 构造widget 

-》

 Widget* widget = widgetFromJsonDictionary(widgetTree);

-》

int childrenCount = DICTOOL->getArrayCount_json(data, "children");
for (int i = 0; i < childrenCount; i++)
{
const rapidjson::Value& subData = DICTOOL->getDictionaryFromArray_json(data, "children", i);
cocos2d::ui::Widget* child = widgetFromJsonDictionary(subData);

此处会层层展开精灵的子精灵 比如一个panel下面多个button 会依次回调 widgetFromJsonDictionary初始化button属性,当此panel下的精灵全部通过

 widget->addChild(child);

添加到widget后 继续添加设置下一个同层次的精灵。

转载于:https://www.cnblogs.com/yegucheng/p/3868307.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值