安裝了vs2012再配置上BabeLua插件(對于vs2015,vs2013有對應(yīng)的版本),就可以斷點調(diào)試了,應(yīng)該算是我見過的最牛的lua調(diào)試環(huán)境,再加上vs,就可以哈哈了。
在使用cocos2dx 2.2.6,用的是cocostudio 1.6編輯UI(雖然還有很多不足,但已經(jīng)可以勝任很多工作了)。
lua 代碼如下:
--在init中
local ul =TouchGroup:create();
local uiLayout = GUIReader:shareReader():widgetFromJsonFile("yy/xx/xxxxxxxx.json")
ul:addWidget(uiLayout)
self:addChild(ul)
-- 假定某個數(shù)字控件
local numTextTag = 100
local numText = ul:getWidgetByTag(numTextTag)
numText:setStringValue("123456789") --結(jié)果在這行報錯
于是想google一下,哎算了,還是百度吧
原來用getWidgetByTag返回的是Widget類型,不是原來的類型,需要用tolua.cast做一次強(qiáng)轉(zhuǎn)。但要看這個是什么類型怎么辦?
試了CCLabelAtlas,還是報錯。于是打開用cocostudio導(dǎo)出的json文件,發(fā)現(xiàn)有對應(yīng)的classname,要只加上這個類型就可以了
lua代碼如下:
local numTextTag = 100
local numText = ul:getWidgetByTag(numTextTag)
local numText = tolua.cast(numText, "LabelAtlas")
numText:setStringValue("123456789") --結(jié)果OK
這樣就OK了,
附導(dǎo)出json的截圖:
