H5游戏开发:FC小蜜蜂

本文介绍了使用Phaser引擎开发FC小蜜蜂游戏的详细过程,包括初始化游戏、实现无限滚屏背景、创建飞机和子弹、生成并控制蜜蜂群的行为以及碰撞检测。游戏采用状态管理,利用对象池优化子弹生成,通过Time模块处理随机攻击,并使用AABB碰撞检测方法。文章提供了一个简单的游戏体验地址。

前言

说起任天堂 FC 那是充满我们童年寒暑假的回忆,那时候没有正版红白机,玩的是几十块一台的山寨小霸王,十块一张的卡带,玩着魂斗罗、马里奥、淘金者、快打旋风、打鸭子等等。

进入正题,今天我们来说说怎么做一个 FC 小蜜蜂游戏,游戏玩法是通过操控飞机,通过发射子弹对蜜蜂造成伤害,蜜蜂全部歼灭则视为胜利。

游戏演示

初始化

本次游戏采用 Phaser 引擎进行开发,Phaser 是一个快速、免费、易于维护的开源 2D 游戏框架,支持 JavaScript 和 TypeScript 两种语言开发,采用 Pixi.js 引擎作为底层渲染,内置了物理引擎、粒子动画、骨骼动画等效果。

功能介绍

在 Phaser 中有一个重要的概念,我们需要通过状态(State)来管理游戏中各个不同的场景,这也是 Phaser 官方建议的游戏代码组织方式,场景可以通过 Phaser.Game.state 来添加(add)和启动(start),每个场景有初始化(init)、预加载(preload)、准备就绪(create)、更新周期(update)、渲染完毕(render) 五种状态,按照顺序依次执行,同一时间只能存在一个场景,并且每个场景中至少包含五种状态中的一个。

比如我们的小蜜蜂游戏一共会分为四个场景:开始场景、游戏场景、获胜场景、失败场景

游戏场景

 
    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
    
var game = new Phaser.Game( 750, 1206, Phaser.AUTO, 'wrapper')
var states = {}
states.start = { // 开始场景
preload: function() {
...
game.load.image( 'example-1', 'images/example-1.png')
...
},
create: function() {
game.state.start( 'play') // 加载完成后切换到游戏场景
}
}
states.play = { ... } // 游戏场景
states.victory = { ... } // 胜利场景
states.defeat = { ... } // 失败场景
game.state.add( 'start', states.load)
game.state.add( 'play', states.play)
game.state.add( 'victory', states.victory)
game.state.add( 'defeat' states.defeat)
game.state.start( 'start')

无限滚屏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值