设备:Mac
quick 3.3 /Lua 5.3.4 /cocos 3.10
1. 项目结构
2. 项目演变过程
当然,项目都是从main函数开始的,我们来看看main.lua里写的是什么
[图片上传中...(image.png-945929-1530346761063-0)]
它载入了app.MyApp这个模块,并创建了它的实例,调用MyApp的run方法
通过app.MyApp,我们可以迅速的知道它的app模块小的MyApp子模块,所以我们到app文件夹下查看相应文件
调用了基类的ctor,基类的ctor主要是添加事件组件
我们可以清楚的看到有两个事件监听对象,主要是监听你的程序进入后台以及从后台切回的事件。最后一句是将app设置为全局变量,并且将自身赋值给了app,所以以后要使用AppBase的时候只需要用app进行调用就可以了。
MyApp在run方法里添加了搜索路径,并且调用了进入场景的函数。这个进入场景的函数在MyApp中并没有实现,但是我们可以在基类AppBase中找到它:
我们可以用另外一种方法,可以增加多个搜索路径:
local tempTabel = {}
local writablePath = cc.FileUtils:getInstance():getWritablePath()
table.insert(tempTabel,"src/")
table.insert(tempTabel,"res/")
cc.FileUtils:getInstance():setSearchPaths(tempTabel)
它有四个参数:场景名、跳转场景(传给场景类构造函数的参数,必须是table)、过渡动画类型、过渡时间、过渡效果的附加参数
通过lua的语法我们可以知道,传参不需要全传,没有传参的形参会被自动赋值为nil
该函数的实现流程如下:确定场景包名、引入场景文件、生成该场景的实例、调用display的转换场景方法来转换场景
我们到MainScene中看看它的实现
local MainScene = class(classname,super),其实就是让你定义的场景继承超类,下面是cocos引擎实现的class方法,主要是目的是初始化实例并返回
再看看ctor这个构造函数,它初始化了一个UILable并将它加入到场景里,也就是addTo(self)这句
网友评论