首先导出的LUA文件是这样的
箭头指向的位置有个Create函数。就是调用这个函数进行创建。(至于这个参数是什么,后边会讲到)
首先,先将导出的这个文件require进来,进来之后呢,调用create方法,就会返回Cocos创建的Scene了~
代码如下:
1
local csLuaScene = require("Scenelua")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 == "Scenelua" and node:getName()=="Button_1" and funcName =="bnt2" then
local function btnCallback( node,eventType )
--TODO
end
return btnCallback
end
end
local csLuaScene = require("Scenelua")create(callBackProvider)
也许大家看第一篇文章时候,注意到 我这里提示了一个错误,版本不兼容。是时候更新到35了!如果不想更新的话,就把35的UI的部分替换过来吧………
因为原生平台和web平台的环境不同,所以截图方案不同,下面提供了2个平台的不同截图方案。作者使用的cocoscreator的版本为1103,可能后续版本有修改,如果后续版本无法使用该方法,请在评论中指出!
原生平台使用 ccRenderTexture 类缓存当前场景的显示数据。使用的很多方法官方没有向外提供,编辑器会有语法报错,可以在行前使用 //@ts-ignore 忽略报错。
使用网页元素生成的base64数据来截图。
楼主试试这个 ccloadergetRes("xxjson") // json文件记得预加载 !
答题不易,互相帮助,
手机提问的朋友在客户端右上角评价点满意即可
如果你认可我的回答,请及时点击采纳为满意回答按钮!
在cocoscreator中,想要让输入框横屏,需要在场景的Canvas节点上设置Fit Height或Fit Width,根据游戏设计选择一个适合的设置。然后,在输入框节点上设置AnchorX为05,AnchorY为1,Position为(0, 0)。这样就可以让输入框横屏显示。
当需要在立起手机时d出输入键盘时,需要在输入框组件中设置KeyboardReturnType为Done或Search,这样在输入完成后点击“完成”或“搜索”按钮时,输入框会自动关闭。同时,在场景中需要监听键盘的d出与隐藏事件,来调整输入框的位置和大小。可以使用ccviewsetResizeCallback来监听窗口大小改变事件,使用ccviewisOrientationLandscape()来判断当前是否横屏。在窗口大小改变时,可以根据当前屏幕宽高比和设计分辨率比例来动态调整输入框的位置和大小,以保证输入框在不同分辨率下都能正确显示。
主要简单讲解下坐标系统,由于Creator是基于Cocos2dx,也就是使用OpenGL的坐标系,即原点在屏幕左下角,x轴向右,y轴向上。然后讲解下本地坐标与世界坐标,最后讲下坐标转换。
坐标系
基于OpenGL坐标,也就是原点在屏幕左下角,x轴向右,y轴向上。下面讲解的世界坐标也就是与OpenGL坐标系方向一致。
本地坐标
本地坐标是相对于父节点而言的,也就是相对于父节点的位置。通过node的getPosition()来获取坐标。
世界坐标
世界坐标也就是上面说的OpenGL坐标,原点在屏幕左下角,x轴向右,y轴向上。例如触摸事件中得到的坐标就是世界坐标。
锚点
锚点是对应于Node属性中的AnChor。其中(05,05)是位于中心,(0,0)是位于左下角,(0,1)是位于左上角,(1,0)是位于右下角,(1,1)是位于右上角
坐标转换
取得节点的世界坐标
世界坐标转换成某个节点下的坐标
节点的本地坐标转到另一个节点的本地坐标下
最后
通过本文的讲解,希望给新手们有所帮助。坐标转换的应用可以到触摸事件Demo查看。最后还是那句话,喜欢就动动手指点喜欢,关注我吧。我会不定时更新Cocos Creator教程哦~
以上就是关于如何使用Cocos Studio导出的LUA文件全部的内容,包括:如何使用Cocos Studio导出的LUA文件、CocosCreator-原生平台和web平台的截图方案、如何读取cocos studio数据编辑器编辑出来的json文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)