HTML5移動遊戲開發高階程式設計 2:從玩具到遊戲
2.1 引言
新增一些敵方飛船,並設定各種遊戲元素,這樣才能讓敵我雙方交戰
2.2 建立GameBoard物件
第一步是新增一種機制來同時處理頁面上的一群精靈。
儘管Game物件提供了一種切換皮膚進出的機制,但在把任意數量的精靈新增至頁面這方面,並未提供什麼簡易的做法。所以,我們要把GameBoard物件加進來。
GameBoard物件的作用更像是跳棋遊戲中的遊戲棋盤,它提供放置所有元件的場所,然後指明它們的移動方式,職責可分為4種不同型別:
- 負責儲存一個物件列表,以及把精靈新增到列表中及從列表中刪除精靈。
- 此外,它還需要遍歷該物件列表
- 需要以與之前的皮膚相同的方式來進行響應,它必須擁有step和draw函式,這兩個函式會呼叫物件列表中每個物件的相應方法。
- 需要檢測物件之間的碰撞
2.3 發射導彈
繫結空格鍵,讓它發射一對炮彈
新增炮彈精靈:
連線導彈和玩家:
2.4 新增敵方飛船
計算敵方飛船的移動: 也可用TweenJS之類的補間引擎
vx = A + B * sin(C * t + D)
vy = E + F * sin(G * t + H)
構建Enemy物件:
2.5 重構精靈類
JavaScript沒有類的概念,所以不要定義類來表示被繼承的屬性,你要建立一個原型物件,當某個引數並未在實際物件中定義時,JavaScript就會到這個原型中查詢。
建立一個通用的Sprite類:
重構PlayShip:
重構PlayerMissile:
重構Enemy:
2.6 處理碰撞
炸掉對方,就碰撞而言,Alien Invasion可以使用兩種機制。第一種機制主動在每個物件的step函式中進行檢查,檢視該物件與其互動的其他所有物件的碰撞情況。第二種機制提供通用的碰撞階段,在這個階段中,物件在擊中彼此時觸發碰撞事件。前一種機制的實現較為簡單,但後一種提供了更好的綜合效能,且能夠被更好地優化。
新增物件型別:
讓導彈和敵方飛船碰撞:
讓敵方飛船和玩家碰撞:
製造爆炸:
2.7 描述關卡
一個把關卡資料和把敵方飛船新增到螢幕上的機制整合起來的部件
設定敵方飛船:
相關文章
- HTML5移動遊戲開發高階程式設計 10:自建Quintus引擎(2)HTML遊戲開發程式設計UI
- HTML5移動遊戲開發高階程式設計 9:自建Quintus引擎(1)HTML遊戲開發程式設計UI
- HTML5移動遊戲開發高階程式設計 11:自建Quintus引擎(3)HTML遊戲開發程式設計UI
- HTML5移動遊戲開發高階程式設計 3:試飛結束,向移動進發HTML遊戲開發程式設計
- HTML5移動遊戲開發高階程式設計 1:先飛後走,先難後易HTML遊戲開發程式設計
- HTML5遊戲開發進階 7 :單位智慧移動HTML遊戲開發
- 從初級到高階,如何設計出好的遊戲掩體遊戲
- HTML5遊戲開發進階 2 :建立基本的遊戲世界HTML遊戲開發
- 如何從初級程式設計師變成高階程式設計師?程式設計師
- Rust 程式設計影片教程(進階)——027_2 高階特性 2Rust程式設計
- 所見即所得:四款免程式設計移動遊戲開發引擎推薦程式設計遊戲開發
- 從逃離到成為遊戲開發,40歲了我才學會程式設計遊戲開發程式設計
- 移動遊戲開發精要遊戲開發
- 電子遊戲互動簡史:從“電子玩具”到“第九藝術”遊戲
- Rust 程式設計視訊教程(進階)——027_2 高階特性 2Rust程式設計
- JS高階程式設計第2章--精簡版JS程式設計
- 【筆記】《JavaScript高階程式設計(第3版)》(2)筆記JavaScript程式設計
- 函數語言程式設計(2) 高階函式函數程式設計函式
- 如何從初級程式設計師順利晉升到高階程式設計師?程式設計師
- 遊戲開發者:過半移動遊戲開發者使用Unity引擎遊戲開發Unity
- Oracle 高階程式設計 01 ~Oracle程式設計
- 程式程式設計2 – Unix環境高階程式設計8章讀書筆記程式設計筆記
- 從程式設計師到專案經理(2)程式設計師
- 從設計階段提高遊戲留存遊戲
- HTML5遊戲開發進階 8 :新增更多的遊戲元素HTML遊戲開發
- HTML5遊戲開發進階 12:多人對戰遊戲操作HTML遊戲開發
- 從程式設計到養生程式設計程式設計
- HTML5遊戲開發進階 6 :加入單位HTML遊戲開發
- HTML5遊戲開發進階 4 :物理引擎整合HTML遊戲開發
- 移動web效能優化從入門到進階Web優化
- 低階程式設計師和高階程式設計師的區別程式設計師
- iOS 實現自動登入(從低階做法到高階做法)iOS
- Rust 程式設計影片教程(進階)——026_2 高階 trait2Rust程式設計AI
- windows核心程式設計--DLL高階Windows程式設計
- Javascript高階程式設計 備忘JavaScript程式設計
- C++高階程式設計pdfC++程式設計
- JavaScript高階程式設計筆記JavaScript程式設計筆記
- 重讀《JavaScript高階程式設計》JavaScript程式設計