cocos2d-x cocoStudioUI编辑器导出文件的使用


代码示例:

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



OK,上一步只是将你制作的UI用代码显示出来, 但是当我们需要接收 来自 按钮,检测框等控件的点击及其他事件消息时,我们该怎么做呢?

第一步:

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

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


第二步:

添加事件回调函数

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


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



注意事项

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

切换场景时需要释放由于加载UI文件所产生的内存。否则上一场景的部分内存会遗留,导致内存高峰

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

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



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







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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值