Phaser-游戲之旅

雖然這個小游戲邏輯不是很復雜,但為了熟悉Phaser這個游戲框架的使用方法所以就選擇了它。

另外第一次在項目中嘗試使用ES6,之后利用babel進行轉(zhuǎn)換。

自動化構(gòu)建:gulp(其他文件復制和解析) + webpack(負責js的模塊打包) + browser-sync(實時預覽);

剛開始拿到項目的交互后,對游戲功能進行了分析,然后將整個游戲大致分”游戲啟動前、加載、游戲、結(jié)束“4個場景。確定場景后,考慮實現(xiàn)的方式。我選擇webpack + gulp來打包我的代碼,
我的工程目錄大致如下所示:

文件目錄如下:
    .
    ├── src
    │   ├── img //存放圖片資源 │   ├── js      
    │   │   ├── app //一些自己寫的庫 │   │   ├── lib //第三方庫 │   │   ├── prefabs //存放游戲元件 │   │   ├── states //存放游戲場景 │   │   │   ├── boot.js 
    │   │   │   ├── preload.js 
    │   │   │   ├── play.js 
    │   │   │   └── over.js  
    │   │   └── index.js //程序入口 │   ├── css
    │   │   └── style.less
    │   └── media //存放媒體文件 ├── index.html
    ├── gulpfile.js  
    └── webpack.config.js

程序入口

主要是利用es6的class創(chuàng)建一個游戲?qū)ο蟛⒗^承于Phaser.Game,然后將所有的場景添加到Phaser.state中。

class Game extends Phaser.Game { // 子類繼承父類Ph