經驗分享—一天時間搞定iOS游戲開發
遵循一定的原則可以保證開發順利進行,最大程度避免意外情況的發生。根據我以往的經驗,如果不提前想好應用什么技術?如何組合這些技術?臨時抱佛腳,刷網頁搜信息將會耗費很多精力。
本文就來講一講使用蘋果公司的原生游戲引擎SpriteKit開發一款游戲都需要哪些步驟。
1.創建一個Project
有了游戲創意之后,第一步就是使用蘋果公司的開發IDE:Xcode,創建一個游戲Project。為什么在開發蘋果設備使用的App時,必須要使用Xcode呢?這是因為Xcode更簡單,更省事,更方便。
2.設置Workspace
在Xcode里,每個Workspace要求有邏輯體系(logistics)以及一些準備工作,比如決定游戲在設備上是橫版還是豎版,并做一些適當的改動——取消勾選橫向視圖或者縱向視圖,并在Project文件或Xcode編輯器中進行編輯。
3.添加Project資源
Project資源即圖像音頻文件或其他要添加到project里的外部文件。僅需要簡單地將其拖放到project導航器就可以了。
4.改變背景顏色
到這里,好戲才剛剛開始。要改變背景顏色的話就得多寫幾行代碼以保證程序可以運行??梢愿咝н\行程序就可促使開發者更加有動力繼續工作。這一步看似不起眼,做好了能大大提升開發者的積極性,讓他們更加相信自己有能力為Project帶來積極的影響。
5.為背景添加Sprite
從asset或圖像文件夾里獲取圖片,并添加為游戲背景。一旦了解了如何添加以及設置背景Sprite的位置后,就能為游戲場景添加Sprite了。
6.添加游戲Sprite
添加了背景sprite后,就要添加游戲內置(in-game)精靈。游戲內置Sprite可以節省不少時間,幫助開發者將注意力主要放在游戲邏輯上。
7.添加玩家控制的Sprite
添加游戲Sprite的同時,你可能已經加上了玩家控制的Sprite。這是行得通的。將兩者分開操作主要是考慮到多數情況下,當玩家所控制的Sprite按照設置的行為或位置執行時,可能跟游戲內置的其他Sprite有所不同。
創建了自己的游戲asset之后,就可以開始為游戲添加邏輯了。在這篇文章中,我們將會用到很多App Store中游戲喜歡用的“拖放”機制。
執行游戲邏輯時,須采用“分而治之”的方法,也就是將過程分割成最小單位,分別編寫代碼。
8.“拖放”Sprite——“拖”
為玩家Sprite執行“拖動”機制,需要用到touchesBegan功能,該功能現已適用于蘋果產品。這個動作只需要輕點屏幕即可觸發。
9.拖放”Sprite——“放”
這一步會用到touchesMoved和touchesEnded功能,判斷手指什么時候移開屏幕。
這部分我們創建菜單屏幕,按鍵還有游戲所需的用戶界面工具。
10.創建主菜單(setUp)
要創建主菜單屏幕,也就是scene(場景)或一個SKNode,必須要有Cocoa Touch文件。本文中使用scene。
11.調用主菜單
創建主菜單后,要調用主菜單,程序才能開始運行。游戲啟動后,應立刻調用主菜單,作為游戲中出現的第一個場景。
12.添加背景Sprite
這一步跟添加游戲場景的背景Sprite是一樣的。
13.觸摸開始游戲
主菜單加載完成后,只需要給屏幕添加一個觸摸功能,游戲就能真正開始了。一旦檢測到觸摸的動作,游戲場景就被調用并加載出來,然后游戲開始運行直到結束。
14.返回主菜單按鈕
玩家如何從游戲場景返回主菜單呢?方法是重復第13步的touch方法,但這次我們定義一個Sprite做為按鍵,玩家按下按鍵之后,就能返回主菜單。
15.場景轉換
動畫讓游戲更引人入勝,可謂錦上添花。雖然跟游戲內容沒太大關系,但能大大提升游戲體驗。
16.添加一個Play按鍵
游戲制作完成后,玩家需要找到一個進入游戲的方式。很簡單,使用Sprite定義一個Play按鍵,按下Play建即可開始游戲。
App Store上有很多游戲邏輯和游戲Demo
我曾開發了一個名為Piggie Penny Pincher的iOS游戲。接下來,我將和大家分享我在開發該款游戲時用到的一些解決方案。
讓游戲動起來
18.動畫&特效
是時候添加動畫和特效了,好讓游戲看起來更生動一些。
運用制作動畫的12條準則中的任何一條,都會使你的動畫更為生動。其中最簡單的準則就是最常用的“擠壓與拉伸(Squash and Stretch)”,可以使游戲體驗更上一層樓。
19.音樂和音效
最后可以為游戲添加音樂和音效了。通常開發者們可能會忽略這一點,但這能讓你的游戲更加引人入勝。