cocos2dx3.1中,在lua脚本中导入cocostudio UI编辑器的布局

本文介绍如何使用Cocos2d-x和Lua进行UI布局设计与交互实现,包括从Cocostudio导出JSON文件并在Lua脚本中加载布局及元素的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近装了cocos2d-x开始学习,尝试直接创建Lua项目,并用cocostudio UI编辑器做了一个场景布局,试图在lua脚本中导入这个布局并获取其中的元素来使用。


但是由于是新手,连C++的代码怎么写都搞不清,就直接用Lua来写的坏处是,网上几乎找不到类似的资料或demo,查API文档也是一头雾水,几乎就是胡乱摸索着瞎写=。=


言归正传,如果我们在COCOSTUDIO中,使用UI编辑器制作了一个场景布局之后,选择导出项目,将布局发布出来,可以得到几个使用到的图片资源文件,加一个布局json文件。

然后在lua脚本中,可以这样写来导入:


local uiLayer = cc.Layer:create()
local widget = ccs.GUIReader:shareReader():widgetFromJsonFile("main_scene.json")
uiLayer:addChild(widget)

在2.x版本的cocos中,用的是touchgroup,而在3.x版的cocos2d-x中,已经没有touchgroup了,直接用layer来代替就可以了。

而如果需要获取其中的元素,比如想要获取布局里的某个按钮,可以这样来查找:


local btn = ccui.Helper:seekWidgetByName(widget, "Button_4")
btn:addTouchEventListener(btnCallBack)

由于在3.x中的代码跟2.x大不一样,特此记录。

关于获取到的元素,如果想要增加事件监听,可以查看官方的lua-test里的src/CocoStudioTest/CocoStudioGUITest.lua文件,里面有示例代码可以参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值