写在前面
最近想去自己做一点游戏来玩玩看,所以看了下游戏开发的相关内容。博主之前自己已经学过 unity ,unity 也能够提供多个端的支持,但是始终感觉 unity 太重了,用来开发轻量的小游戏有点过了,所以想选择一个 H5 的游戏引擎来做 2D 游戏,看了下 github 的 H5 游戏引擎,看到了 phaser ,调研体验了下,感觉是一款优秀的 H5 游戏引擎。
本文使用的版本是phaser3,具体版本是3.55.2。
简介
介绍
Phaser是一个专注于桌面和移动端的HTML5游戏引擎,是国外最火的一个HTML5游戏引擎。如果你是一个刚刚踏入游戏行业的新手,那么用Phaser入门是再合适不过了。
Phaser的优势
- 十分简易的环境搭建
不知道大家有没有用过unity3d或者cocos2d或者egret这类游戏引擎,它们的特点是有丰富的IDE,工具链,缺点是不易上手,初学者配置一个开发环境就要半天。
而Phaser的开发环境配置起来特别简单,只需要引入一个js文件即可。你可以用任何编写js的IDE来写Phaser,比如Sublime、WebStorm或者nodepad++。然后把项目放到服务器环境即可跑起来。
同时,Phaser不像egret那样必须用TypeScript来开发。Phaser非常灵活,你可以用es5来开发它,也可以用es6,也可以用TypeScript,哪个用着顺手就用哪个。
- 丰富的功能
市面上的H5引擎并不少,但是Phaser可以说是2D中最出色的一个。Phaser提供的功能非常全面,比如物理引擎,Phaser默认内置3种物理引擎,ARCADE,P2,Ninja,各自有各自的适用场景,使用起来也非常方便。
同时,Phaser还支持瓦片地图、定时器、渐变动画、帧动画、滚动背景、对象池、照相机、粒子系统、图形绘制、位图、像素图、图集、加载管理、多点触摸、音视频等等几乎你能够想到的所有做游戏需要的基础功能,是目前市面上2D的H5游戏引擎中功能最丰富的一个。
- 超强定制能力
Phaser的定制能力到底有多强,可以从两方面来讲。
第一,Phaser的插件机制。Phaser可以允许开发者通过插件来引入其他强大的能力,比如通过插件你可以引入box2d物理引擎,引入spine骨骼动画,引入列表控件等等。Phaser的插件机制为Phaser提供了无限可能性,强大的插件功能使得Phaser几乎无所不能。
第二,Phaser的模块化编译。由于Phaser是源码开放的,我们可以从官方github上获取其源码进行编译,从而编译出我们自己的Phaser。同时,官方的源码写得非常漂亮,在设计之初就考虑到了模块化编译,比如你不需要p2引擎,那么你就可以编译一个phaser-arcade-physics版本,甚至你不需要物理引擎,那么你可以编译一个minimum版本。只需要在编译的时候添加一个参数就好,十分方便。
环境搭建
创建一个本地服务器
- 为什么要创建一个本地服务器呢?
因为如果不创建本地服务器,打开HTML文件是以file://
的形式打开的,但是我们需要的是http://
的形式访问,所以需要创建一个本地服务器。
关于为什么不能使用前者,这个涉及到跨域的问题,感兴趣的可以去网上查一下相关的资料。
windows
使用 XAMPP
OS X
使用 MAMP
https://discussions.apple.com/docs/DOC-3083
其他方式
除了上面提到的集成环境,也可以使用其他方式来快速创建一个web环境,如果你熟悉下面语言的话。
Grunt
Python
http://www.linuxjournal.com/content/tech-tip-really-simple-http-server-python
node.js
https://npmjs.org/package/http-server
php 内置网络服务器
需要 PHP 版本大于 5.4.0
http://php.net/manual/en/features.commandline.webserver.php
编辑器 editor
除了上述所需要搭建的环境以外,还需要一个编辑器来写JavaScript代码,这里是官方推荐的几个编辑器,可以看下
- Sublime Text
- atom
- visual studio code
- brackets
- webstorm
这里面有需要付费的也有免费的,博主因为使用vscode使用习惯了,所以这里博主选择了vscode。
下载phaser
Phaser 是一个开源项目,可以免费下载。使用 Phaser 时无需支付任何费用,无论您是将其用于商业项目还是免费项目。
官方的说明:下载页面
其实是两种
- npm
在 npm 里面使用npm install phaser@3.55.2
- cdn
直接加载 js,我们开发调试选择这种就好
非压缩版本
压缩版本
至此,环境的搭建已经完成,enjoy it!