[cocos2dx笔记017]cocos2dx 2.2.6 lua的类型转换
2016-04-08 10:18
465 查看
本文地址: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的截图:
因工作需要,转战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的截图:
相关文章推荐
- Cocos2d-x中背景音乐和音效使用实例
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- Cocos2d-x UI开发之CCControlPotentiometer控件类使用实例
- Cocos2d-x UI开发之文本类使用实例
- Cocos2d-x保存用户游戏数据之XML文件是否存在问题判断方法
- Cocos2d-x UI开发之菜单类使用实例
- Cocos2d-x UI开发之CCControlButton控件类实例
- Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系
- Cocos2d-x UI开发之CCControlColourPicker控件类使用实例
- Cocos2d-x学习笔记之CCLayerColor层的使用实例
- Cocos2d-x Schedule定时器的使用实例
- Cocos2d-x中使用CCScrollView来实现关卡选择实例
- Cocos2d-x中CCEditBox文本输入框的使用实例
- cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍
- Cocos2d-x UI开发之CCControlSlider控件类使用实例
- Cocos2d-x学习笔记之开发环境搭建
- Cocos2d-x学习笔记之Hello World!
- 使用C++进行Cocos2d-x游戏开发入门过程中的要点解析
- Cocos2d-x的内存管理总结
- Cocos2d-x 3.0中集成社交分享ShareSDK的详细步骤和常见问题解决