現(xiàn)在你知道 SpriteKit 是什么,以及為什么要使用它统诺,是時候親自嘗試了枚碗!
你將在這本書中建立的第一個小游戲叫僵尸康茄(Zombie Conga)版述。 下面是完成后的樣子:
在僵尸康茄中,你會扮演一個想?yún)⒓优蓪Φ目鞓方┦?/p>
幸運的是姻锁,你所占據(jù)的海灘擁有很多貓咪枕赵。你只需要咬它們,它們就會加入你的康茄隊伍位隶。
但要注意瘋狂的貓主人拷窜!這些穿著紅色衣服的女人,不允許任何人偷偷摸摸地碰她們的貓咪涧黄,她們會盡全力消滅僵尸篮昧。
你將在接下來的六章中分階段構(gòu)建這個游戲:
第一章,精靈:你現(xiàn)在在這一章笋妥!通過添加精靈來開始制作游戲的旅程:背景和僵尸懊昨。
第二章,跟隨手指移動:你會讓僵尸跟隨你的手指在屏幕上移動春宣,學習基礎的2D矢量數(shù)學知識疚颊。
第三章,動作:你將貓和瘋狂的貓主人加入游戲信认,以及基礎的碰撞檢測和游戲玩法材义。
第四章,場景:你將在游戲中添加一個主菜單嫁赏,以及勝利和失敗的場景其掂。
第五章,鏡頭:你將使游戲從左到右滾動潦蝇,最后添加康茄隊伍款熬。
第六章深寥,標簽:你會添加標簽來顯示僵尸的生命值和他的康茄隊伍中貓咪的數(shù)量。
是時候開始康茄了贤牛!
開始
啟動 Xcode 并從主菜單中選擇 File > New > Project惋鹅。 選擇 iOS /Application/Game 模板,然后單擊 Next殉簸。
輸入 ZombieConga 作為 Product Name闰集,選擇 Swift 作為 Language,SpriteKit 作為 Game Technology般卑,然后單擊 Next武鲁。
選擇硬盤上的某個位置來保存項目,然后單擊 Create蝠检。 這時沐鼠,Xcode 將為你生成一個簡單的 SpriteKit 初始項目。
看看 SpriteKit 做了什么叹谁。 在 Xcode 的工具欄中饲梭,選擇 iPhone 8 Plus 并單擊 Play。
在簡短的啟動畫面之后焰檩,你會看到一個標簽排拷,上面寫著“Hello, World!”。 當您將鼠標拖過屏幕時锅尘,文字將會彈起监氢,并出現(xiàn)一些旋轉(zhuǎn)的圓角矩形。
在 SpriteKit 中藤违,稱為場景的單個對象控制著你應用的每個“屏幕”浪腐。 場景由 SpriteKit 的 SKScene 類表示。
現(xiàn)在顿乒,這個應用程序只有一個場景:GameScene议街。 打開 GameScene.swift,你會看到顯示標簽和旋轉(zhuǎn)的圓角矩形的代碼璧榄。
現(xiàn)在無須理解這些代碼 —— 你將會把它們?nèi)縿h除特漩,逐步地構(gòu)建你的游戲。
現(xiàn)在骨杂,刪除 GameScene.swift 中的所有內(nèi)容涂身,并將其替換為:
import SpriteKit
class GameScene: SKScene {
override func didMove(to view: SKView) {
backgroundColor = SKColor.black
}
}
請注意,GameScene 是 SKScene 的一個子類搓蚪。 SpriteKit 在視圖中呈現(xiàn)場景之前調(diào)用方法 didMove(to:)蛤售; 這是對場景內(nèi)容進行初始設置的地方。 在這里,你只需將背景顏色設置為黑色即可悴能。
僵尸康茄被設計為在橫屏模式下運行揣钦,所以你需要為此配置。 在項目導航欄中選擇 ZombieConga project漠酿,然后選擇 ZombieConga target冯凹。 轉(zhuǎn)到 General 選項卡,確保只選中了 Landscape Left 和 Landscape Right炒嘲。
你在這里同時選中 Requires full screen 選框宇姚。 如果你想創(chuàng)建一個只支持橫屏的應用程序,并且表示這個游戲不會提供多窗口支持摸吠,那么這是必需的。
你還需要進行一項配置嚎花,以便應用程序可以在 iPad 上以橫屏模式運行寸痢。 打開 Info.plist 并找到 Supported interface orientations (iPad)。 刪除 Portrait(bottom home button) 和 Portrait(top home button)紊选,只保留橫屏選項啼止。
SpriteKit 項目模板會自動創(chuàng)建一個名為 GameScene.sks 的文件。 你可以使用 Xcode 的內(nèi)置場景編輯器來編輯這個文件兵罢,以可視化的方式布置你的游戲場景献烦。 將場景編輯器想象成一個簡單的 Interface Builder。
你將在第七章“場景編輯器”中了解關(guān)于場景編輯器的信息卖词,Zombie Conga 中你不會使用它巩那,因為通過編寫代碼的方式創(chuàng)建精靈更容易且更有啟發(fā)性。
按住 Control 鍵單擊 GameScene.sks此蜈,選擇 Delete即横,然后選擇 Move to Trash。 同時裆赵,也刪除 Actions.sks东囚,在這個游戲中你不需要這個文件。
由于你不再使用這些文件战授,因此你必須適當修改模板代碼页藻。
打開 GameViewController.swift 并替換成下面的內(nèi)容:
import UIKit
import SpriteKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let scene =
GameScene(size:CGSize(width: 2048, height: 1536))
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
scene.scaleMode = .aspectFill
skView.presentScene(scene)
}
override var prefersStatusBarHidden: Bool {
return true
}
}
之前,視圖控制器從 GameScene.sks 中加載場景植兰,而現(xiàn)在通過調(diào)用 GameScene 上的初始化方法來創(chuàng)建場景份帐。
請注意,當你創(chuàng)建場景時楣导,你將使用 2048x1536 大小的尺寸弥鹦,并將縮放模式設置為 aspectFill。
現(xiàn)在快速討論下如何設計這款游戲以支持各種型號的設備。