[寒江孤叶丶的Cocos2d-x之旅_27]CocoStudio导出的LUA文件怎么使用?
2015-04-02 21:30
239 查看
原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列]
博客地址:http://blog.csdn.net/qq446569365
上篇文中说道如何导出LUA文件,下边来说一下LUA文件怎么使用!
首先导出的LUA文件是这样的
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/e259d64371c12c054a3b81b2e73633c2)
箭头指向的位置有个Create函数。就是调用这个函数进行创建。(至于这个参数是啥玩意,后边会讲到)
首先,先将导出的这个文件require进来,进来之后呢,调用create方法,就会返回Cocos创建的Scene了~
代码如下:
然后create 方法返回的结果是一个table,通过csLuaScene['root']来获得创建的Scene,接着replaceScene就可以了!对于“图层”和“节点”也是类似的操作!
最后通过一系列的getChildByName 和 GetChildByTag 获取子节点进行操作就可以了!
啊,对了,获取动画的方式和获取Scene的方式相似 csLuaScene['animation']!
接下来,create函数的那个参数是什么东西呢?
来看这个图 ,我给Button_1添加了一个叫做btn2的Click事件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/8aa61e69868ed4e6e6f6156f39b39fcd)
生成LUA代码之后,能够发现有如下代码段
![](https://oscdn.geek-share.com/Uploads/Images/Content/201911/04/7b831a55ce2e7cb2bac64570c3a60b3d)
这段代码,首先判断callBackProvider是否为空,然后呢,将他的返回值设置为Button_1的Click回调函数。
这样就很明白了。create时候需要传入的参数callBackProvider是一个函数,他的功能是根据传入的3个参数进行判断,最终返回一个函数最为Button(或者其他node)的回调函数!
callBackProvider的三个参数,分别是,当前LUA文件的路径,所绑定的Node(可以通过name或者tag来判断是哪个node),最后是回调函数的名字,通过这三个参数可以很容易的知道是哪个按钮的回调事件,从而返回该按钮所需要的回调函数。
所以,在create时候应该是这样的:
博客地址:http://blog.csdn.net/qq446569365
上篇文中说道如何导出LUA文件,下边来说一下LUA文件怎么使用!
首先导出的LUA文件是这样的
箭头指向的位置有个Create函数。就是调用这个函数进行创建。(至于这个参数是啥玩意,后边会讲到)
首先,先将导出的这个文件require进来,进来之后呢,调用create方法,就会返回Cocos创建的Scene了~
代码如下:
local csLuaScene = require("Scene.lua").create()
然后create 方法返回的结果是一个table,通过csLuaScene['root']来获得创建的Scene,接着replaceScene就可以了!对于“图层”和“节点”也是类似的操作!
最后通过一系列的getChildByName 和 GetChildByTag 获取子节点进行操作就可以了!
啊,对了,获取动画的方式和获取Scene的方式相似 csLuaScene['animation']!
接下来,create函数的那个参数是什么东西呢?
来看这个图 ,我给Button_1添加了一个叫做btn2的Click事件
生成LUA代码之后,能够发现有如下代码段
这段代码,首先判断callBackProvider是否为空,然后呢,将他的返回值设置为Button_1的Click回调函数。
这样就很明白了。create时候需要传入的参数callBackProvider是一个函数,他的功能是根据传入的3个参数进行判断,最终返回一个函数最为Button(或者其他node)的回调函数!
callBackProvider的三个参数,分别是,当前LUA文件的路径,所绑定的Node(可以通过name或者tag来判断是哪个node),最后是回调函数的名字,通过这三个参数可以很容易的知道是哪个按钮的回调事件,从而返回该按钮所需要的回调函数。
所以,在create时候应该是这样的:
local callBackProvider = function ( path,node,funcName ) if path == "Scene.lua" and node:getName()=="Button_1" and funcName =="bnt2" then local function btnCallback( node,eventType ) --TODO end return btnCallback end end local csLuaScene = require("Scene.lua").create(callBackProvider)也许大家看第一篇文章时候,注意到 我这里提示了一个错误,版本不兼容。是时候更新到3.5了!如果不想更新的话,就把3.5的UI的部分替换过来吧…………
相关文章推荐
- CocoStudio导出的LUA文件怎么使用?
- CocoStudio导出的LUA文件怎么使用?
- [寒江孤叶丶的Cocos2d-x之旅_28]CocoStudio导出的LUA文件的BUG……(Layer与Scene嵌套出错)
- [寒江孤叶丶的Cocos2d-x之旅_26]重大喜讯!CocoStudio终于支持导出LUA文件了!
- cocos2d-x 3.0学习一:cocostudio导出UI界面文件的加载及使用的若干问题
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- [寒江孤叶丶的Cocos2d-x之旅_24]Cocos2d-x LUA 解析 Csv文件的方法
- 一个苹果证书怎么多次使用——导出p12文件
- Cocos2d-x加载CocoStudio导出文件的配置
- Cocos2dx 使用Cocostudio导出文件支持.ttf格式字体
- 一个苹果证书怎么多次使用——导出p12文件
- quick-cocos2d-x 导出 C/C++ API 给 Lua 使用
- 一个苹果证书怎么多次使用——导出p12文件
- 一个苹果证书怎么多次使用(授权Mac开发)——导出p12文件
- 在 quick-cocos2d-x 中导出 CCFileUtils::getFileData 给Lua使用
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Cocos2d-x 3.0 开发(十六)cocos2dx-3.0beta版建立新项目并加载CocoStudio导出文件
- cocos2dx 3.1 使用 cocostudio 导出动画文件 vs2012
- Cocos2d-x 3.0 开发(十六)cocos2dx-3.0beta版建立新项目并加载CocoStudio导出文件