phaser学习(1)-前言以及环境

写在前面

最近想去自己做一点游戏来玩玩看,所以看了下游戏开发的相关内容。博主之前自己已经学过 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版本。只需要在编译的时候添加一个参数就好,十分方便。

环境搭建

创建一个本地服务器

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代码,这里是官方推荐的几个编辑器,可以看下

这里面有需要付费的也有免费的,博主因为使用vscode使用习惯了,所以这里博主选择了vscode。

下载phaser

Phaser 是一个开源项目,可以免费下载。使用 Phaser 时无需支付任何费用,无论您是将其用于商业项目还是免费项目。

官方的说明:下载页面

其实是两种

至此,环境的搭建已经完成,enjoy it!