本文地址:
http://www.cppblog.com/zdhsoft/archive/2016/04/08/213211.aspx
因工作需要,转战cocos2dx 2.2.6的lua版本。对于lua倒是不难,很容易上手。
因工作需要,转战cocos2dx 2.2.6的lua版本。对于lua倒是不难,很容易上手。
在使用cocos2dx 2.2.6,用的是cocostudio 1.6编辑UI(虽然还有很多不足,但已经可以胜任很多工作了)。
lua 代码如下:
--在init中
localul=TouchGroup:create();
localuiLayout=GUIReader:shareReader():widgetFromJsonFile("yy/xx/xxxxxxxx.json")
ul:addWidget(uiLayout)
self:addChild(ul)
--假定某个数字控件
localnumTextTag=100
localnumText=ul:getWidgetByTag(numTextTag)
numText:setStringValue("123456789")--结果在这行报错
localul=TouchGroup:create();
localuiLayout=GUIReader:shareReader():widgetFromJsonFile("yy/xx/xxxxxxxx.json")
ul:addWidget(uiLayout)
self:addChild(ul)
--假定某个数字控件
localnumTextTag=100
localnumText=ul:getWidgetByTag(numTextTag)
numText:setStringValue("123456789")--结果在这行报错
于是想google一下,哎算了,还是百度吧
原来用getWidgetByTag返回的是Widget类型,不是原来的类型,需要用tolua.cast做一次强转。但要看这个是什么类型怎么办?
lua代码如下:
localnumTextTag=100
localnumText=ul:getWidgetByTag(numTextTag)
localnumText=tolua.cast(numText,"LabelAtlas")
numText:setStringValue("123456789")--结果OK
localnumText=ul:getWidgetByTag(numTextTag)
localnumText=tolua.cast(numText,"LabelAtlas")
numText:setStringValue("123456789")--结果OK
这样就OK了,
附导出json的截图:
附导出json的截图: