前面我们已经大概的讲解完了Quick的框架和代码结构,接下来,本章开始我们将正式进入到游戏的开发。当然在开发的过程中,如果遇到值得一提的知识点和概念,我们还是会为大家详细讲解的。
哈哈,这章的内容我加它为——开发初探,因为我们将先来实现一些基础的内容。本章将实现的效果如下图所示:
菜单场景
从前面章节讲解的的知识点中,我们知道每个新建的 Quick 项目里都已经默认创建好了一个 mainScene 场景,所以下面我们将利用这个现成的场景,把它改造成我们需要的游戏场景。
我们的游戏将是一个简单的游戏,所以不需要太复杂。理所当然的,第一个运行的游戏场景一般都是菜单场景,所以本小节我们的目的就是构建菜单场景,在这个场景中,我们会添加必要的节点和控件。
下面乱入一点基础知识,已经了解 Cocos2d-x 基础概念的童鞋可绕行,不用听我的废话。但如果你对 Cocos2d-x 一窍不通,并且想更加深入地了解这些概念的童鞋可参考《Cocos2d-x 中的基础概念》一文。这里我们也只简单说说:
Cocos2d-x ( Quick 同样)是一款基于节点树渲染的游戏引擎,它把游戏的各个部分抽象成了导演、节点、场景、层、精灵等等一系列的概念,所以你可以把 Cocos2d-x 游戏想象成一部电影。同电影一样,Cocos2d-x 游戏中每个时刻都有一个场景在独立运行,我们通过切换不同的场景可以完成整个游戏流程,场景切换的管理由导演来执行。
一个游戏可有多个不同的游戏场景,每个场景又可包含多个不同的层(或其他节点),每层可拥有任意的游戏节点(常见的是精灵,但也可以是层、菜单、文本等等)。其基本构架如下图所示:
现在还不是很理解也没有关系,因为新手都是在实际运用的过程中慢慢理解,慢慢积累出经验的。
菜单场景对于我们来说就只是一个简单的游戏场景而已,下面开始我们就来在菜单场景中挨个添加游戏对象吧!
添加背景精灵
首先,我们来给游戏添加一张背景图,背景资源大小如第二章分辨率适配时决定的一样,为 1136 x 640 的大小。
添加游戏资源时,我们必须把包括背景在内的所有图片资源都拷贝到 res 目录下(放到别处将无法被引用)。当然,为了和可能有的字体文件、音效文件等等游戏资源区分开来,你也可以像我一样,先在 res 目录下新建一个叫做 image 的文件夹,然后再把资源拷贝到这个 res/image 目录下。
拷贝资源过后,我们就可以修改代码来添加背景图片了。所以,接下来请打开 MainScene.lua 文件,在它的ctor方法中删除创建 “Hello World” 文本的那段多余代码,并添加如下的一段新代码来添加背景图片:
1
2
3
|
@H_404_45@
local title = display.newSprite(
"img/title.png"
)
:pos(display.cx / 2 * 3,display.cy)
:addTo(self)
local move1 = cc.MoveBy:create(0.5,cc.p(0,10))
local move2 = cc.MoveBy:create(0.5,-10))
local SequenceAction = cc.Sequence:create( move1,move2 )
transition.execute(title,cc.RepeatForever:create( SequenceAction ))
|
@H_403_71@
cc.ui.UIPushButton.
new
({ normal =
"img/start1.png"
,pressed =
"img/start2.png"
})
:onButtonClicked(function()
print(
"start"
)
end)
:pos( display.cx / 2,display.cy )
:addTo(self)
|
@H_403_71@