本节内容是创建第一个Quick项目,并熟悉Quick项目的目录结构以及分析下Quick项目在Lua层是如何启动的!
1.新建Quick项目
新建Quick项目很简单,打开player,点击右下角的“新建项目”,player会切换到新的界面,如下:
选择项目的位置和输入项目的名字就不说了。
下面的Portrain是竖屏和Landscape是横屏,根据自己的项目设定选择,
Copy Source Files默认勾选就可以了。
设定完毕之后点击Create Project会弹出来一个界面,如下:
意思是告诉你工程正在创建,成功之后你就可以打开项目了!
点击OK,你会发现Create Project变成了Open,此时不要着急点Open,因为创建工程的脚本可能还没跑完,你点的太快会导致报错。
好的,现在我们来点击Open打开新建的项目,你会看到一个黑乎乎的屏幕中间显示着Hello World,作为一个coder,你应该很亲切!
2.Quick项目的结构
打开你新建的项目,别告诉我你忘了放在哪里,你会看到如下内容:
-
frameworks目录是存放各个平台的项目,小白就先不要管了
-
res目录是存放你游戏中用到的资源的,神马图片啊,配置文件啊等等
-
runtime目录是存放预编译的运行是库的,你也先不用关,其实我就从来没管过
-
src目录就是存放你项目所有lua代码的地方了
3.Quick在Lua层的启动
你上面见到的黑乎乎的屏幕中间显示着的Hello World是如何出现的呢?下面我们就一步一步的来解答!
首先我们打开src/main.lua,至于用啥编辑器打开就随意了,个人推荐sublime text!
打开之后我们看这一行:
1
|
require(
"app.MyApp"
).
new
():run()
|
这里可以说就是Lua层的主入口了,这句代码是啥意思呢?就是说:载入app.MyApp模块并创建一个MyApp实例,并调用MyApp的run方法。
那么,MyApp模块在哪里呢?就是src/app/MyApp.lua。
现在打开MyApp.lua文件,我们来看看run方法是个啥。
1
2
3
4
|
function MyApp:run()
cc.FileUtils:getInstance():addSearchPath(
"res/"
)
self:enterScene(
"MainScene"
)
end
|
-
第一行代码是说把前面提到的res目录加载到你的资源搜索路径
-
第二行是调用自身的enterScene方法,这个方法的作用是进入名字为参数“MainScene"的场景
那么MainScene场景在哪里呢?就是src/app/scenes/MainScene.lua。
打开MainScene.lua,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
local MainScene =
class
(
"MainScene"
, function()
return
display.newScene(
"MainScene"
)
end)
function MainScene:ctor()
cc.ui.UILabel.
new
({
UILabelType = 2, text =
"Hello, World"
, size = 64})
:align(display.CENTER, display.cx, display.cy)
:addTo(self)
end
function MainScene:onEnter()
end
function MainScene:onExit()
end
return
MainScene
|
最上面是声明了一个MainScene类。
ctor方法是MainScene的构造方法,你可以在这里完成MainScene的相关初始化,我们看看默认的MainScene初始化都干了啥。
构造函数中只是初始化了一个UILabel并添加到场景里,也就是addTo(self)这句。这个UILabel的内容就是"Hello, World"。
好了,到这里,我们已经明白了Quick默认的工程是如何启动并且显示"Hello, World"给你看的了。
4.该你动手了
光看代码是不行的,搞明白了基本的东西就要动手去写代码,这样才能真正的学习好Quick。
你可以先替换下"Hello, World"为自己想现实的内容,然后保存代码,切换到player,command + R刷新player(win 下为f5),看看是不是变了呢。
好吧,昨天本来想做点有意思的小东西,但白天忙的忘了准备素材,所以,今天就到这里吧。