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

 我来答
huanglenzhi
2015-04-11 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517188
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部

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

  箭头指向的位置有个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的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的部分替换过来吧………

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式