最近在研究H5游戲開發,于是進行了一波調研發現了這篇博客解釋的很好 HTML5游戲引擎深度測評,有興趣的可以去看看。
通過各方面的衡量和和業務的考量,最終選擇了 Phaser H5游戲框架來開發。本文主要介紹它的api,具體范例,會在第二篇進行全部詳細的提供出來;
Phaser
Via: 如果一個類在 via 列中有一個條目,則意味著您可以通過this
引用快速訪問它。
您可以從任何狀態通過 this.camera 控制相機,如果游戲已全局定義,則可以通過 game.camera 控制相機。
屬性 |
Via |
說明 |
Game |
game |
管理啟動、創建子系統以及運行邏輯和渲染循環 |
World |
world |
所有游戲對象所在的游戲世界 |
Camera |
camera |
相機是您進入游戲世界的視角 |
Stage |
stage |
舞臺是根顯示對象 |
Game States
屬性 |
Via |
說明 |
StateManager |
state |
創建、管理和交換您的游戲狀態 |
State |
|
可以擴展的基本游戲狀態對象 |
Loader
屬性 |
Via |
說明 |
Cache |
cache |
緩存是所有加載的資產存儲和檢索的地方 |
Loader |
load |
加載所有外部資產類型(圖像、音頻、json、xml、txt)并將它們添加到緩存中。由 States preload 方法自動調用 |
LoaderParser |
|
加載器使用的靜態類來處理復雜資產類型的解析 |
Game Scaling
屬性 |
Via |
說明 |
ScaleManager |
scale |
跨設備管理游戲的大小和縮放 |
FlexGrid |
scale.grid |
響應式布局網格(試用中) |
FlexLayer |
|
響應式網格層(試用中) |
Signals
屬性 |
說明 |
Signal |
Signal是移相器內部事件系統 |
SignalBinding |
管理哪些回調綁定到Signal |
Plugins
屬性 |
Via |
說明 |
PluginManager |
plugins |
安裝、更新和銷毀插件 |
Plugin |
|
可以擴展的基礎插件對象 |
Game Objects
屬性 |
Via |
說明 |
GameObjectFactory |
add |
一個輔助類,可以創建任何 Phaser 游戲對象并將它們添加到游戲世界 |
GameObjectCreator |
make |
可以創建和返回任何 Phaser 游戲對象的輔助類 |
Group |
|
組可以包含多個游戲對象,并具有搜索、排序、調用、更新和過濾它們的能力 |
InputHandler |
*object*.input |
如果為輸入啟用了游戲對象,則該類控制所有與輸入相關的事件,包括點擊和拖動 |
Events |
*object*.events |
所有游戲對象級別的事件 |
Create |
create |
動態 Sprite 和 Texture 生成方法 |
Display
屬性 |
說明 |
Sprite |
具有紋理的游戲對象,能夠運行動畫、輸入事件和物理 |
Image |
具有紋理和輸入但沒有物理或動畫處理程序的更輕的游戲對象 |
TileSprite |
具有可滾動和縮放的重復紋理的游戲對象 |
Button |
一個帶有輔助方法和事件的圖像游戲對象,可將其轉換為 UI 按鈕 |
SpriteBatch |
自定義 Sprite 批次。如果多個 Sprites 共享相同的紋理,則可以顯著加快渲染速度 |
Rope |
具有基于條帶的紋理的關節游戲對象 |
Graphics
屬性 |
說明 |
Graphics |
允許您繪制原始形狀(直線、矩形、圓形)、設置顏色、描邊和填充 |
BitmapData |
為空白 Canvas 對象提供強大的接口??梢杂米?Sprite 紋理 |
RenderTexture |
一種特殊的紋理,您可以非??焖俚乩L制 Sprites |
Text
屬性 |
說明 |
Text |
使用系統字體或 Web 字體顯示文本,可選擇填充、陰影和描邊 |
BitmapText |
使用位圖字體文件的基于紋理的文本對象 |
RetroFont |
類似于 BitmapText 對象,但使用經典的 sprite 表。每個字符都是固定寬度的 |
Animation
屬性 |
Via |
說明 |
AnimationManager |
*sprite*.animations |
在 Sprite 游戲對象上添加、播放和更新動畫 |
Animation |
|
動畫管理器創建的基礎動畫對象 |
AnimationParser |
|
Phaser 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 |
說明 |
Time |
time |
所有 Phaser 時間相關操作所依賴的核心內部時鐘 |
Timer |
time.create |
包含一個或多個 TimerEvent 的自定義計時器。可以使用一次或設置為重復 |
TimerEvent |
time.add |
單個時間相關的事件對象。屬于 Phaser.Timer |
Tilemaps
屬性 |
說明 |
Tilemap |
一張 Tilemap 由一個或多個 TilemapLayer 和關聯的圖塊數據組成。包含用于圖塊數據操作和 TilemapLayer 生成的方法 |
TilemapLayer |
Tilemap 中的單個圖層。繼承自 Phaser.Sprite 并負責渲染自身 |
Tileset |
包含用于由 TilemapLayer 渲染圖塊的紋理和數據的對象 |
Tile |
具有相關屬性的單個 Tile 對象。地圖中的每個圖塊都存在其中一個 |
TilemapParser |
用于解析外部加載的地圖數據的靜態類。通常由 Phaser.Loader 直接調用 |
Math
屬性 |
Via |
說明 |
Math |
math |
包含大量與數學相關的輔助方法,包括模糊邏輯和插值 |
QuadTree |
|
一個獨立的四叉樹實現。由 Arcade Physics 使用,但也可以直接使用 |
RandomDataGenerator |
rnd |
可播種可重復隨機數據生成器 |
Network
屬性 |
Via |
說明 |
Net |
net |
瀏覽器 URL 和查詢字符串相關方法 |
Particles
屬性 |
Via |
說明 |
Particles |
particles |
Phaser 粒子管理器。在游戲循環期間調用并更新任何關聯的粒子發射器 |
Emitter |
|
基于街機物理的粒子發射器。通過 GameObjectFactory 中的 add.emitter 創建 |
Particle |
|
發射器發射的單個粒子對象。擴展 Phaser.Sprite |
Physics
屬性 |
Via |
說明 |
Physics |
physics |
核心物理管理器。提供對所有物理子系統的訪問 |
Arcade Physics
屬性 |
Via |
說明 |
Arcade |
physics.arcade |
Arcade Physics 處理器。包含碰撞、重疊和移動相關的方法 |
Body |
*sprite*.body |
街機物理機構。包含速度、加速度、阻力等相關屬性 |
Weapon |
game.add.weapon |
Arcade Physics 驅動的武器插件,用于輕松管理子彈池 |
Ninja Physics
默認情況下,Ninja Physics 未捆綁在 Phaser 中
屬性 |
Via |
說明 |
Ninja |
physics.ninja |
Ninja物理處理器。包含碰撞、重疊和移動相關的方法 |
Body |
*sprite*.body |
Ninja物理身體。包含速度、加速度、阻力等相關屬性 |
AABB |
|
AABB Ninja物理體型 |
Circle |
|
圓形Ninja物理身體類型。 |
Tile |
|
Tile Ninja物理身體類型 |
P2 Physics
屬性 |
Via |
說明 |
P2 |
phyiscs.p2 |
P2物理世界。包含碰撞、重疊和移動相關的方法 |
Body |
*sprite*.body |
P2物理體。包含速度、加速度、阻力等相關屬性 |
BodyDebug |
|
P2 Body 對象的調試特定版本。呈現出其形狀以進行可視化調試 |
Material |
|
用于世界響應的 P2 材質,例如摩擦和恢復 |
ContactMaterial |
|
用于聯系響應的 P2 聯系材料 |
CollisionGroup |
|
P2碰撞組 |
FixtureList |
|
P2 夾具列表處理程序 |
PointProxy |
|
負責將 Phaser Game World 代理到 P2 物理值 |
InversePointProxy |
|
負責將 Phaser Game World 代理為反轉的 P2 物理值 |
Spring |
|
一個 P2 彈簧對象 |
RotationalSpring |
|
P2 旋轉彈簧對象 |
Input
屬性 |
Via |
說明 |
Input |
input |
輸入管理器。負責處理所有輸入子系統。還負責啟用輸入的游戲對象 |
Pointer |
input.pointer |
指針封裝了所有與鼠標或觸摸相關的輸入,無論它是如何生成的。在多點觸控系統上,可以同時激活多個指針。在與輸入相關的事件中,傳遞了對相應指針的引用 |
DeviceButton |
pointer.leftButton |
代表鼠標或筆/手寫筆上的按鈕 |
Keyboard |
input.keyboard |
鍵盤輸入處理程序。偵聽與設備相關的事件。也可以創建 Key 對象。 |
Key |
|
Key 對象負責監聽特定的 Key。由鍵盤類創建 |
KeyCode |
|
KeyCode 常量在創建新的 Key 對象時使用 |
Mouse |
input.mouse |
鼠標事件處理程序。偵聽與設備相關的事件并將它們傳遞給活動指針 |
MSPointer |
input.mspointer |
MSPointer 事件處理程序。偵聽與設備相關的事件并將它們傳遞給活動指針 |
Touch |
input.touch |
觸摸事件處理程序。偵聽與設備相關的事件并將它們傳遞給活動指針 |
Gamepads
屬性 |
Via |
說明 |
Gamepad |
input.gamepad |
游戲手柄管理器負責管理所有連接到設備的游戲手柄。創建 SinglePad 實例 |
SinglePad |
input.gamepad.pad<1,4> |
代表一個連接的游戲手柄 |
DeviceButton |
|
表示 SinglePad 實例上的按鈕 |
Tweens
屬性 |
Via |
說明 |
TweenManager |
tweens |
Tween Manager 創建、更新和銷毀所有活動的補間 |
Tween |
|
一個補間對象。通過 game.add.tween 創建。由表示補間和任何子補間的 TweenData 對象組成 |
TweenData |
|
TweenData 對象包含與補間相關的所有信息。由 Phaser.Tween 對象創建并屬于 Phaser.Tween 對象 |
Easing |
|
包含可用于 Tweens 的所有緩動函數的靜態類 |
Sound
屬性 |
Via |
說明 |
SoundManager |
sound |
聲音管理器控制所有聲音對象并可以播放、循環、淡入淡出和停止聲音 |
Sound |
|
聲音對象??芍苯硬シ?、暫停、停止,并可調節音量 |
AudioSprite |
|
Audio Sprite 是一個 Sound 對象,具有代表音頻部分的相關標記數據 |
System
屬性 |
Via |
說明 |
Canvas |
|
包含 Canvas 創建和操作方法的靜態類。比如添加到dom,設置觸摸動作,平滑和圖像渲染 |
Device |
game.device |
Device 類在啟動時檢查系統功能和設置,并存儲它們供以后訪問 |
DOM |
|
包含 DOM 特定方法的靜態類,包括偏移處理、視口校準和邊界檢查 |
RequestAnimationFrame |
game.raf |
為核心游戲更新循環抽象出 RAF 或 setTimeOut 的使用 |
Utils
屬性 |
Via |
說明 |
ArraySet |
|
ArraySet 是一個 Set 數據結構(項目在集合內必須是唯一的),它也保持順序 |
ArrayUtils |
|
特定于數組的方法,例如 getRandomItem、shuffle、transposeMatrix、rotate 和 numberArray |
Color |
|
Phaser.Color 是一組輔助顏色操作和轉換的靜態方法 |
Debug |
game.debug |
顯示游戲對象調試信息的方法集合 |
LinkedList |
|
一個基本的鏈表數據結構 |
Utils |
|
對象和字符串檢查和修改的實用方法。包括getProperty、pad、isPlainObject、extend和mixin |
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。