HTML5移動遊戲開發高階程式設計 11:自建Quintus引擎(3)
11.1 引言
精靈是引擎用來在螢幕上顯示圖形和元素的主要可視遊戲物件(GameObject),精靈使用一些基本資產或精靈表(SpriteSheet)把自身繪製到遊戲中;場景(Scene)則提供了一種方式把諸如關卡一類的遊戲的某個離散部分包裝成一個既好用又可重用的包;最後,作為遊戲狀態的主要容器,舞臺(Stage)負責跟蹤GameObject列表,以及確保它們在每幀中的更新和繪製。
11.2 定義精靈表
精靈表支援在單個影像中儲存任意數目的影像,這樣做的目的是加快遊戲的載入過程,以及把動畫變得更便於使用。
建立SpriteSheet類: 一個SpriteSheet物件只引用同一精靈的一組大小相似的幀,一個單次載入的影像資產可被編譯成若干SpriteSheet物件。
跟蹤和載入精靈表:
測試SpriteSheet類:
11.3 新增精靈
事件由Evented類處理,元件由GameObject類處理,圖形由資產和SpriteSheet類處理等
編寫Sprite類:
引用精靈、屬性和資產:
運用Sprite物件:blockbreak.html
11.4 使用場景設定舞臺
使用一個物件管理眾多精靈的更新和繪製。Quintus將這一物件稱為Stage(舞臺),還會額外加入一個Scene(場景)物件概念,該物件用來設定某個特定舞臺的舞臺物件。Scene的作用之一是簡化關卡的設定,然後在關卡之間進行切換。
quintus_scenes.js
這一場景功能背後的設想是,你希望以獨立方式來設定遊戲的某一關或某一段內容,所以它放入一個獨立的方法中來簡化不同場景之間的切換。
編寫Stage類:負責記錄一個精靈列表並讓精靈更新和渲染自身。
相關文章
- 【譯】闖入遊戲開發 #3:程式設計遊戲開發程式設計
- 2020/6/11 JavaScript高階程式設計 DOMJavaScript程式設計
- 高階語言程式設計作業 11/25程式設計
- 高階語言程式設計作業 11/04程式設計
- Rust 程式設計影片教程(進階)——027_3 高階特性 3Rust程式設計
- WebGL程式設計指南(3)高階變換與動畫基礎Web程式設計動畫
- 【程式設計師的遊戲開發之路】 遊戲架構程式設計師遊戲開發架構
- Rust 程式設計影片教程(進階)——026_3 高階 trait3Rust程式設計AI
- Rust 程式設計視訊教程(進階)——027_3 高階特性 3Rust程式設計
- Rust 程式設計視訊教程(進階)——026_3 高階 trait3Rust程式設計AI
- JS高階程式設計第3章--精簡版JS程式設計
- 遊戲開發與設計遊戲開發
- 遊戲陪玩app開發,高併發系統如何設計?遊戲APP
- 《Unity移動遊戲開發》讀後感Unity遊戲開發
- Python 高階程式設計:深入探索高階程式碼實踐Python程式設計
- VisualDMIS 6.5更換架ACR3 高階程式設計程式設計
- 3D遊戲的照明設計理論(四):如何在遊戲引擎中照亮遊戲世界3D遊戲引擎
- 室內設計遊戲為何風靡移動遊戲市場?遊戲
- HTML5遊戲開發(二):使用TypeScript編寫程式碼HTML遊戲開發TypeScript
- 遊戲開發—協議設計遊戲開發協議
- Javascript高階程式設計 備忘JavaScript程式設計
- C++高階程式設計pdfC++程式設計
- windows核心程式設計--DLL高階Windows程式設計
- 重讀《JavaScript高階程式設計》JavaScript程式設計
- Flink(1.11)高階程式設計——FlinkSQL程式設計SQL
- JavaScript高階程式設計筆記JavaScript程式設計筆記
- 鴨鴨星球遊戲系統程式設計開發丨NFT鏈遊遊戲開發技術語言程式設計遊戲開發
- HTML5遊戲開發(一):3分鐘建立一個hello worldHTML遊戲開發
- 3D遊戲程式設計與設計4——遊戲物件與圖形基礎3D遊戲程式設計物件
- 來黑馬程式設計師從零學前端與移動開發----移動web開發----伸縮佈局程式設計師前端移動開發Web
- GameFi+NFT鏈遊開發技術/NFT鏈遊遊戲系統程式設計開發程式碼示例GAM遊戲程式設計
- 7個HTML5移動開發框架,初學HTML5必看HTML移動開發框架
- 3D遊戲程式設計作業93D遊戲程式設計
- 移動遊戲11月報告:環比微降4% 但仍高於暑期遊戲
- 從初級到高階,如何設計出好的遊戲掩體遊戲
- java遊戲開發雜談 - java程式設計怎麼學Java遊戲開發程式設計
- 高階QML 3D元件開發3D元件
- 學習程式設計從遊戲開始程式設計遊戲
- 如何設計高難度遊戲遊戲