zoukankan      html  css  js  c++  java
  • cocos2d-x cocoStudioUI编辑器导出文件的使用

    
    

    代码演示样例:

    	UILayer* layer = UILayer::create();
    	layer ->addWidget(CCUIHELPER->createWidgetFromJsonFile("你的UI编辑器导出文件名称.json"));
    	this->addChild(layer );



    OK。上一步仅仅是将你制作的UI用代码显示出来, 可是当我们须要接收 来自 button,检測框等控件的点击及其它事件消息时,我们该怎么做呢?

    第一步:

    首先须要定义控件类型指针,将已经载入好的控件的指针“接”过来。这里要注意的是,载入UIproject文件那步已经将所包括的控件解析,分配了内存,所以仅仅需取得它的指针。

    UITextButton* close = dynamic_cast<UITextButton*>(layer ->getWidgetByName("close"));


    第二步:

    加入事件回调函数

    m_pBtnClose->addReleaseEvent(this, coco_releaseselector(接收button放开事件的回调函数));


    好了。其它类型控件大体如此。



    注意事项

    使用cocoStudio 须要注意的内存问题

    切换场景时须要释放因为载入UI文件所产生的内存。否则上一场景的部分内存会遗留。导致内存高峰

    应在场景类的析构函数里加上例如以下几句代码:

    	// 清理动画数据
    	CCArmatureDataManager::purge();
    	// 清理场景渲染数据
    	CCSSceneReader::sharedSceneReader()->purgeSceneReader();
    	// 清理动作数据
    	cocos2d::extension::ActionManager::shareManager()->purgeActionManager();
    	// 清理UI数据
    	cocos2d::extension::UIHelper::instance()->purgeUIHelper();



    以上代码使用地方错误会导致当前场景的部分内存释放,出现执行时崩溃。







  • 相关阅读:
    Codeforces 963E Alternating Sum 等比数列+逆元
    poj 3255 次短路
    hdu 3183 rmq+鸽巢原理
    poj 2505 乘法博弈论
    欧拉函数模板
    java中的进制转换以及字符串类和数值类的相互转化
    java 大数运算,高精度模板
    线段树模板
    [OI笔记]每周刷题记录
    HDU4388-Stone Game II-Nim变形
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6978390.html
Copyright © 2011-2022 走看看