如何使用Cocos Studio导出的LUA文件

发表于2015-08-14
评论0 1.3k浏览

首先导出的LUA文件是这样的

1428043766250832.jpg

箭头指向的位置有个Create函数。就是调用这个函数进行创建。(至于这个参数是什么,后边会讲到)

首先,先将导出的这个文件require进来,进来之后呢,调用create方法,就会返回Cocos创建的Scene了~

 

代码如下:

1
 
local csLuaScene = require("Scene.lua").create()
 

然后create 方法返回的结果是一个table,通过csLuaScene['root']来获得创建的Scene,接着replaceScene就可以了!对于“图层”和“节点”也是类似的操作!

 

最后通过一系列的getChildByName 和 GetChildByTag 获取子节点进行操作就可以了!

啊,对了,获取动画的方式和获取Scene的方式相似 csLuaScene['animation']!

接下来,create函数的那个参数是什么东西呢?

来看这个图 ,我给Button_1添加了一个叫做btn2的Touch事件

1429687146102810.jpg

生成LUA代码之后,能够发现有如下代码段:

20150402213841770.jpg

这段代码,首先判断callBackProvider是否为空,然后呢,将他的返回值设置为Button_1的Touch回调函数。

这样就很明白了。create时候需要传入的参数callBackProvider是一个函数,他的功能是根据传入的3个参数进行判断,最终返回一个函数最为Button(或者其他node)的回调函数!

 

callBackProvider的三个参数,分别是,当前LUA文件的路径,所绑定的Node(可以通过name或者tag来判断是哪个node),最后是回调函数的名字,通过这三个参数可以很容易的知道是哪个按钮的回调事件,从而返回该按钮所需要的回调函数。

 

所以,在create时候应该是这样的:

 

1
2
3
4
5
6
7
8
9
10
 
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)
 

 

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引