找回密码
 立即注册
查看: 255|回复: 0

H5游戏开发之 Phaser

[复制链接]
发表于 2023-2-20 15:05 | 显示全部楼层 |阅读模式
最近在研究H5游戏开发,于是进行了一波调研发现了这篇博客解释的很好 HTML5游戏引擎深度测评,有兴趣的可以去看看。
通过各方面的衡量和和业务的考量,最终选择了 Phaser H5游戏框架来开发。本文主要介绍它的api,具体范例,会在第二篇进行全部详细的提供出来;
Phaser


Via: 如果一个类在 via 列中有一个条目,则意味着您可以通过this引用快速访问它。
您可以从任何状态通过 this.camera 控制相机,如果游戏已全局定义,则可以通过 game.camera 控制相机。
属性Via说明
Gamegame管理启动、创建子系统以及运行逻辑和渲染循环
Worldworld所有游戏对象所在的游戏世界
Cameracamera相机是您进入游戏世界的视角
Stagestage舞台是根显示对象
Game States

属性Via说明
StateManagerstate创建、管理和交换您的游戏状态
State可以扩展的基本游戏状态对象
Loader

属性Via说明
Cachecache缓存是所有加载的资产存储和检索的地方
Loaderload加载所有外部资产类型(图像、音频、json、xml、txt)并将它们添加到缓存中。由 States preload 方法自动调用
LoaderParser加载器使用的静态类来处理复杂资产类型的解析
Game Scaling

属性Via说明
ScaleManagerscale跨设备管理游戏的大小和缩放
FlexGridscale.grid响应式布局网格(试用中)
FlexLayer响应式网格层(试用中)
Signals

属性说明
SignalSignal是移相器内部事件系统
SignalBinding管理哪些回调绑定到Signal
Plugins

属性Via说明
PluginManagerplugins安装、更新和销毁插件
Plugin可以扩展的基础插件对象
Game Objects

属性Via说明
GameObjectFactoryadd一个辅助类,可以创建任何 Phaser 游戏对象并将它们添加到游戏世界
GameObjectCreatormake可以创建和返回任何 Phaser 游戏对象的辅助类
Group组可以包含多个游戏对象,并具有搜索、排序、调用、更新和过滤它们的能力
InputHandler*object*.input如果为输入启用了游戏对象,则该类控制所有与输入相关的事件,包括点击和拖动
Events*object*.events所有游戏对象级别的事件
Createcreate动态 Sprite 和 Texture 生成方法
Display

属性说明
Sprite具有纹理的游戏对象,能够运行动画、输入事件和物理
Image具有纹理和输入但没有物理或动画处理程序的更轻的游戏对象
TileSprite具有可滚动和缩放的重复纹理的游戏对象
Button一个带有辅助方法和事件的图像游戏对象,可将其转换为 UI 按钮
SpriteBatch自定义 Sprite 批次。如果多个 Sprites 共享相同的纹理,则可以显着加快渲染速度
Rope具有基于条带的纹理的关节游戏对象
Graphics

属性说明
Graphics允许您绘制原始形状(直线、矩形、圆形)、设置颜色、描边和填充
BitmapData为空白 Canvas 对象提供强大的接口。可以用作 Sprite 纹理
RenderTexture一种特殊的纹理,您可以非常快速地绘制 Sprites
Text

属性说明
Text使用系统字体或 Web 字体显示文本,可选择填充、阴影和描边
BitmapText使用位图字体文件的基于纹理的文本对象
RetroFont类似于 BitmapText 对象,但使用经典的 sprite 表。每个字符都是固定宽度的
Animation

属性Via说明
AnimationManager*sprite*.animations在 Sprite 游戏对象上添加、播放和更新动画
Animation动画管理器创建的基础动画对象
AnimationParserPhaser Loader 在内部使用它来解析来自外部文件的动画数据
FrameData构成动画的 Frame 对象的集合
Frame动画的单个帧。存储在 FrameData 对象中
Geometry

属性说明
Circle由位置和直径组成的 Circle 对象
Ellipse由位置、宽度和高度组成的 Ellipse 对象
Line由位于 Line 起点和终点的两个点组成的 Line 对象
Point由 x 和 y 位置组成的 Point 对象
Polygon由一系列点组成的多边形对象
Rectangle由 x、y、宽度和高度组成的 Rectangle 对象
RoundedRectangle由 x、y、宽度、高度和圆角半径组成的矩形对象
Time

属性Via说明
Timetime所有 Phaser 时间相关操作所依赖的核心内部时钟
Timertime.create包含一个或多个 TimerEvent 的自定义计时器。可以使用一次或设置为重复
TimerEventtime.add单个时间相关的事件对象。属于 Phaser.Timer
Tilemaps

属性说明
Tilemap一张 Tilemap 由一个或多个 TilemapLayer 和关联的图块数据组成。包含用于图块数据操作和 TilemapLayer 生成的方法
TilemapLayerTilemap 中的单个图层。继承自 Phaser.Sprite 并负责渲染自身
Tileset包含用于由 TilemapLayer 渲染图块的纹理和数据的对象
Tile具有相关属性的单个 Tile 对象。地图中的每个图块都存在其中一个
TilemapParser用于解析外部加载的地图数据的静态类。通常由 Phaser.Loader 直接调用
Math

属性Via说明
Mathmath包含大量与数学相关的辅助方法,包括模糊逻辑和插值
QuadTree一个独立的四叉树实现。由 Arcade Physics 使用,但也可以直接使用
RandomDataGeneratorrnd可播种可重复随机数据生成器
Network

属性Via说明
Netnet浏览器 URL 和查询字符串相关方法
Particles

属性Via说明
ParticlesparticlesPhaser 粒子管理器。在游戏循环期间调用并更新任何关联的粒子发射器
Emitter基于街机物理的粒子发射器。通过 GameObjectFactory 中的 add.emitter 创建
Particle发射器发射的单个粒子对象。扩展 Phaser.Sprite
Physics

属性Via说明
Physicsphysics核心物理管理器。提供对所有物理子系统的访问
Arcade Physics

属性Via说明
Arcadephysics.arcadeArcade Physics 处理器。包含碰撞、重叠和移动相关的方法
Body*sprite*.body街机物理机构。包含速度、加速度、阻力等相关属性
Weapongame.add.weaponArcade Physics 驱动的武器插件,用于轻松管理子弹池
Ninja Physics


默认情况下,Ninja Physics 未捆绑在 Phaser 中
属性Via说明
Ninjaphysics.ninjaNinja物理处理器。包含碰撞、重叠和移动相关的方法
Body*sprite*.bodyNinja物理身体。包含速度、加速度、阻力等相关属性
AABBAABB Ninja物理体型
Circle圆形Ninja物理身体类型。
TileTile Ninja物理身体类型
P2 Physics

属性Via说明
P2phyiscs.p2P2物理世界。包含碰撞、重叠和移动相关的方法
Body*sprite*.bodyP2物理体。包含速度、加速度、阻力等相关属性
BodyDebugP2 Body 对象的调试特定版本。呈现出其形状以进行可视化调试
Material用于世界响应的 P2 材质,例如摩擦和恢复
ContactMaterial用于联系响应的 P2 联系材料
CollisionGroupP2碰撞组
FixtureListP2 夹具列表处理程序
PointProxy负责将 Phaser Game World 代理到 P2 物理值
InversePointProxy负责将 Phaser Game World 代理为反转的 P2 物理值
Spring一个 P2 弹簧对象
RotationalSpringP2 旋转弹簧对象
Input

属性Via说明
Inputinput输入管理器。负责处理所有输入子系统。还负责启用输入的游戏对象
Pointerinput.pointer指针封装了所有与鼠标或触摸相关的输入,无论它是如何生成的。在多点触控系统上,可以同时激活多个指针。在与输入相关的事件中,传递了对相应指针的引用
DeviceButtonpointer.leftButton代表鼠标或笔/手写笔上的按钮
Keyboardinput.keyboard键盘输入处理程序。侦听与设备相关的事件。也可以创建 Key 对象。
KeyKey 对象负责监听特定的 Key。由键盘类创建
KeyCodeKeyCode 常量在创建新的 Key 对象时使用
Mouseinput.mouse鼠标事件处理程序。侦听与设备相关的事件并将它们传递给活动指针
MSPointerinput.mspointerMSPointer 事件处理程序。侦听与设备相关的事件并将它们传递给活动指针
Touchinput.touch触摸事件处理程序。侦听与设备相关的事件并将它们传递给活动指针
Gamepads

属性Via说明
Gamepadinput.gamepad游戏手柄管理器负责管理所有连接到设备的游戏手柄。创建 SinglePad 实例
SinglePadinput.gamepad.pad<1,4>代表一个连接的游戏手柄
DeviceButton表示 SinglePad 实例上的按钮
Tweens

属性Via说明
TweenManagertweensTween Manager 创建、更新和销毁所有活动的补间
Tween一个补间对象。通过 game.add.tween 创建。由表示补间和任何子补间的 TweenData 对象组成
TweenDataTweenData 对象包含与补间相关的所有信息。由 Phaser.Tween 对象创建并属于 Phaser.Tween 对象
Easing包含可用于 Tweens 的所有缓动函数的静态类
Sound

属性Via说明
SoundManagersound声音管理器控制所有声音对象并可以播放、循环、淡入淡出和停止声音
Sound声音对象。可直接播放、暂停、停止,并可调节音量
AudioSpriteAudio Sprite 是一个 Sound 对象,具有代表音频部分的相关标记数据
System

属性Via说明
Canvas包含 Canvas 创建和操作方法的静态类。比如添加到dom,设置触摸动作,平滑和图像渲染
Devicegame.deviceDevice 类在启动时检查系统功能和设置,并存储它们供以后访问
DOM包含 DOM 特定方法的静态类,包括偏移处理、视口校准和边界检查
RequestAnimationFramegame.raf为核心游戏更新循环抽象出 RAF 或 setTimeOut 的使用
Utils

属性Via说明
ArraySetArraySet 是一个 Set 数据结构(项目在集合内必须是唯一的),它也保持顺序
ArrayUtils特定于数组的方法,例如 getRandomItem、shuffle、transposeMatrix、rotate 和 numberArray
ColorPhaser.Color 是一组辅助颜色操作和转换的静态方法
Debuggame.debug显示游戏对象调试信息的方法集合
LinkedList一个基本的链表数据结构
Utils对象和字符串检查和修改的实用方法。包括getProperty、pad、isPlainObject、extend和mixin
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 05:50 , Processed in 0.090719 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表