0%

phaser3

Phaser3.js

1.什么是Phaser.js

Phaser 是一个快速、免费且有趣的开源 HTML5 游戏框架,可在桌面和移动 Web 浏览器中提供 WebGL 和Canvas 渲染,它是使用并依赖 Web 技术构建的。它创建的游戏旨在在桌面或移动浏览器或能够运行网络游戏的应用程序(如 Discord、SnapChat、Facebook 等)中玩。有多种方法可以使用第 3 方工具将浏览器游戏转换为本机移动或桌面应用程序,许多 Phaser 开发人员已经成功地做到了这一点。然而,Phasers 的主要关注点是,而且永远是 web。

Phaser 支持各种不同的物理系统,每个系统都充当可用于任何 Phaser 场景的插件。 如: Arcade Physics、Impact Physics 和 Matter.js Physics

2.核心配置config

对游戏进行一些列配置,如type、scene、 physics 、camera等

2.1 Scene

Arcade Physics(physics) :物理支持平台,在config 中先进行配置,方可在场景中设置对应模块组。在 Arcade Physics 中有两种类型的物理体,动态( Dynamic )和静态(Static)两种类型

动态物体: 可以通过速度或加速度等力四处移动的物体。它可以与其他物体反弹和碰撞,并且这种碰撞受物体和其他元素的质量影响。

静态物体: 仅具有位置和大小。它不受重力影响,你不能在它上面设置速度,当有东西与它碰撞时,它永远不会移动。名称为 static,本质上是 static。非常适合我们让玩家四处奔跑的地面和平台。

Group: 将相似对象组合在一起并将他们作为一个单元进行控制的方法,还可以通过Group与其他游戏对象之间的冲突。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
config = { // phaser配置
type: Phaser.AUTO,
physics: {
default: 'arcade',
arcade: {
gravity: { y: 300 },
debug: false
}
},
width: 800,
height: 600,
scene: this.scene
}
// 创建函数: 一般对scene的操作
function create(){
let platforms = this.physics.add.staticGroup(); // 创建一个静态组
this.platfroms.create(400,568,'ground').setScale(2).refreshBody() //torefreshBody() 是必需的,因为我们已经缩放了一个静态物理物体,因此我们必须告诉物理世界我们所做的更改。
platforms.create.(200,500,'ground') // 图像是根据其中心定位的
}




欢迎关注我的其它发布渠道