Phaser制作h5小游戏(一)

如果你是一名游戏新手,并且刚接触游戏引擎的话,个人推荐使用Phaser游戏引擎框架,因为它较简单,易上手,容易懂。先献上开发参考文档:

  1. api文档(强烈推荐)
  2. 官网

虽然有中文版的文档,但是翻译的真心不好,开发中,只要看好api文档,结合官网的例子,就很好开发了。

准备工作

  1. 运行phaser小游戏需要web服务器环境,官网中有提到安装web服务器环境,如果你是一名前端攻城狮,你也可以自己用gulp或者webpack开发工具搭一个web服务器环境。我已写好一套小游戏开发框架放在github上,github地址
  2. 把代码拉下来运行后,就可以开始正式开发了。

开发过程

  1. 设置画布
//在html中定义画布将加载在那个dom元素上
<div id='main'></div>
//创建一个游戏对象
let game = new Phaser.Game(config.DesignSize.width, config.DesignSize.height, Phaser.CANVAS, 'main')

代码中设置画布的大小是987 * 1280,本来是按照720 * 1280尺寸设置的,但是为了适应不用的屏幕,需要将宽设置大一些,满足在每个移动设备中高撑满,宽自适应的效果,所以设计稿中的背景图的宽也需要长些。再根据每个设置月画布大小的比例,算出游戏需要向左偏移的距离left。

  1. 添加场景:
//添加场景
game.state.add('boot', Boot)
game.state.add('preload', Preload)
game.state.add('play', Play)
  1. 开始运行场景
//开始“boot”场景
Game.state.start('boot')

一共有3个场景

states  //游戏场景
├── boot.js //启动场景 
├── play.js //游戏逻辑处理场景
└── preload.js //预加载场景

每个场景都有自己的生命周期,常用的生命周期是init(初始化),preload(加载)、create(准备就绪)、update(更新周期)、render(渲染完成)

init - 初始化数据定义,最开始执行。
preload - 尽管我们有预加载的场景,但如果你希望能缩短进入页面时加载的时间,可以分摊一些到其他场景,只需要在其他场景加入preload方法即可。
create - 如果存在preload方法,则会在加载完毕后执行此方法;否则将在进入该场景时直接执行此方法。
update - 更新周期自动执行的方法,例如在play场景的update方法中可以去检测两个物体是否有接触。
render - 渲染完毕后执行的方法,例如可以在此方法中勾勒出物体的边缘,来方便观察物体的碰撞区域。

每个场景执行都有先后顺序,如果前一个场景执行完后,就可以启动下一个场景。
定义好每个场景后,就可以开始写游戏逻辑了。此处就不展开具体的游戏写法,下一篇将具体讲一下游戏开发中总结的精华(Phaser制作h5小游戏(二))。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342