Phaser-游戏之旅

虽然这个小游戏逻辑不是很复杂,但为了熟悉Phaser这个游戏框架的使用方法所以就选择了它。

另外第一次在项目中尝试使用ES6,之后利用babel进行转换。

自动化构建:gulp(其他文件复制和解析) + webpack(负责js的模块打包) + browser-sync(实时预览);

刚开始拿到项目的交互后,对游戏功能进行了分析,然后将整个游戏大致分”游戏启动前、加载、游戏、结束“4个场景。确定场景后,考虑实现的方式。我选择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创建一个游戏对象并继承于Phaser.Game,然后将所有的场景添加到Phaser.state中。

class Game extends Phaser.Game { // 子类继承父类Ph