大家好,在下刚接触cocos2dx,我谢了一个demo程序,有一些地方不是很清楚,想咨询下各位的。
我使用的是 cocos2d-x-3.0alpha1 的引擎,以及 CocoStudio 1.1.0.0 的版本。 我用CocoStudio 的界面编辑器生成了一个界面布局,a.json,然后使用修改了samples里面的HelloLua的脚本。修改了main函数的代码,使用如下代码
local sceneGame = cc.Scene:create()
local l_xx = ccs.UILayer:create()
local l_uiReader = ccs.GUIReader:getInstance()
local l_hWnd = l_uiReader:widgetFromJsonFile("a.json")
l_xx:addWidget(l_hWnd)
sceneGame:addChild(l_xx)
cc.Director:getInstance():runWithScene(sceneGame)
在程序里面,成功把界面编辑器里面的代码run起来了。
我的问题是,a.json里面,有一个"classname": "TextArea", "name": "_Text", 的节点。我如何才能获取这子节点的对象,并且设置这个文本框的内容?
通过调用函数 l_hWnd:getChildByName('_Text') 可以得到这个节点,但源码里面的实现是
toluafix_pushusertype_ccobject(tolua_S,ID, luaID, (void*)ret,"UIWidget");
push到lua里面的类型是‘UIWidget’, 我如何才能得到 TextArea 对应的控件对象呢?