本作品大致製作完成,但在縮放視窗時,物件大小有誤;文章短期內不會更新。
這次的挑戰比較特別。
我看了這次直播的影片:《HTML5 Canvas 遊戲開發超入門#2》 X 《THE F2E 2nd》,覺得 Mick 老師介紹的 Phaser 遊戲框架很方便有趣,影片介紹也很詳盡,適合跟著做;所以嘗試用 Phaser 來製作這次的內容,也因此選了六角的設計稿。
雖然大部分是跟著直播影片做的,但因為直播介紹的跟設計稿的內容有點不同,所以我還是依據設計稿將細節調整過。
作品
Lynn 的 F2E 2nd 作品列表 / 第五關: 90 秒挑戰遊戲
設計稿
採用 吳俊儀 Junior 的設計稿。
基本結構
首先,在 HTML 中放入一個要產生遊戲內容的區塊,再引用 phaser 和自己的 .js 檔。
1 | <body> |
再來寫好遊戲的基本設定,宣告遊戲的實體。
1 | const config = { |
從上面可以看到,我將遊戲分為 gameStart 、 gamePlay 和 gameEnd 三個場景,再分別實作。
場景物件的結構如下:
1 | const gameStart = { |
接著就介紹各場景的實際內容。
Game Start
如果以 HTML 、 CSS 的方式來思考,遊戲的起始畫面很簡單;就是左邊有一張圖,右邊有一個白色方塊,方塊裡面有標題、副標題和按鈕。
但在 Phaser 裡面,這些元素都是不同的物件,要先載入所需的資源,再宣告物件,並指定物件的行為。
preload
先載入圖片:
1 | preload: function () { |
待續