专职C++

不能停止的脚步

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用链接

留言簿(28)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

本文地址:http://www.cppblog.com/zdhsoft/archive/2016/04/08/213211.aspx
因工作需要,转战cocos2dx 2.2.6的lua版本。对于lua倒是不难,很容易上手。
安装了vs2012再配置上BabeLua插件(对于vs2015,vs2013有对应的版本),就可以断点调试了,应该算是我见过的最牛的lua调试环境,再加上vs,就可以哈哈了。
在使用cocos2dx 2.2.6,用的是cocostudio 1.6编辑UI(虽然还有很多不足,但已经可以胜任很多工作了)。
lua 代码如下:
--在init中
    local ul =TouchGroup:create();
    local uiLayout = GUIReader:shareReader():widgetFromJsonFile("yy/xx/xxxxxxxx.json")
    ul:addWidget(uiLayout)
    self:addChild(ul)
-- 假定某个数字控件
    local numTextTag = 100
    local numText = ul:getWidgetByTag(numTextTag)
    numText:setStringValue("123456789")  --结果在这行报错

于是想google一下,哎算了,还是百度吧
原来用getWidgetByTag返回的是Widget类型,不是原来的类型,需要用tolua.cast做一次强转。但要看这个是什么类型怎么办?
试了CCLabelAtlas,还是报错。于是打开用cocostudio导出的json文件,发现有对应的classname,要只加上这个类型就可以了
lua代码如下:
   local numTextTag = 100
   local numText = ul:getWidgetByTag(numTextTag)
   local numText = tolua.cast(numText, "LabelAtlas")
   numText:setStringValue("123456789")  --结果OK   

这样就OK了,
附导出json的截图:
posted on 2016-04-08 09:57 冬瓜 阅读(3207) 评论(0)  编辑 收藏 引用 所属分类: 原创cocos2dx

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理