最近在研究H5游戲開(kāi)發(fā)拼窥,于是進(jìn)行了一波調(diào)研發(fā)現(xiàn)了這篇博客解釋的很好 HTML5游戲引擎深度測(cè)評(píng)蹈矮,有興趣的可以去看看夕土。
通過(guò)各方面的衡量和和業(yè)務(wù)的考量呐馆,最終選擇了 Phaser H5游戲框架來(lái)開(kāi)發(fā)。本文主要介紹它的api,具體范例,會(huì)在第二篇進(jìn)行全部詳細(xì)的提供出來(lái)雹舀;
Phaser
Via: 如果一個(gè)類在 via 列中有一個(gè)條目,則意味著您可以通過(guò)this
引用快速訪問(wèn)它粗俱。
您可以從任何狀態(tài)通過(guò) this.camera 控制相機(jī)说榆,如果游戲已全局定義,則可以通過(guò) game.camera 控制相機(jī)。
屬性 |
Via |
說(shuō)明 |
Game |
game |
管理啟動(dòng)签财、創(chuàng)建子系統(tǒng)以及運(yùn)行邏輯和渲染循環(huán) |
World |
world |
所有游戲?qū)ο笏诘挠螒蚴澜?/td>
|
Camera |
camera |
相機(jī)是您進(jìn)入游戲世界的視角 |
Stage |
stage |
舞臺(tái)是根顯示對(duì)象 |
Game States
屬性 |
Via |
說(shuō)明 |
StateManager |
state |
創(chuàng)建稍味、管理和交換您的游戲狀態(tài) |
State |
|
可以擴(kuò)展的基本游戲狀態(tài)對(duì)象 |
Loader
屬性 |
Via |
說(shuō)明 |
Cache |
cache |
緩存是所有加載的資產(chǎn)存儲(chǔ)和檢索的地方 |
Loader |
load |
加載所有外部資產(chǎn)類型(圖像、音頻荠卷、json、xml烛愧、txt)并將它們添加到緩存中油宜。由 States preload 方法自動(dòng)調(diào)用 |
LoaderParser |
|
加載器使用的靜態(tài)類來(lái)處理復(fù)雜資產(chǎn)類型的解析 |
Game Scaling
屬性 |
Via |
說(shuō)明 |
ScaleManager |
scale |
跨設(shè)備管理游戲的大小和縮放 |
FlexGrid |
scale.grid |
響應(yīng)式布局網(wǎng)格(試用中) |
FlexLayer |
|
響應(yīng)式網(wǎng)格層(試用中) |
Signals
屬性 |
說(shuō)明 |
Signal |
Signal是移相器內(nèi)部事件系統(tǒng) |
SignalBinding |
管理哪些回調(diào)綁定到Signal |
Plugins
屬性 |
Via |
說(shuō)明 |
PluginManager |
plugins |
安裝、更新和銷毀插件 |
Plugin |
|
可以擴(kuò)展的基礎(chǔ)插件對(duì)象 |
Game Objects
屬性 |
Via |
說(shuō)明 |
GameObjectFactory |
add |
一個(gè)輔助類怜姿,可以創(chuàng)建任何 Phaser 游戲?qū)ο蟛⑺鼈兲砑拥接螒蚴澜?/td>
|
GameObjectCreator |
make |
可以創(chuàng)建和返回任何 Phaser 游戲?qū)ο蟮妮o助類 |
Group |
|
組可以包含多個(gè)游戲?qū)ο笊髟⒕哂兴阉鳌⑴判虿茁⒄{(diào)用蚁堤、更新和過(guò)濾它們的能力 |
InputHandler |
*object*.input |
如果為輸入啟用了游戲?qū)ο螅瑒t該類控制所有與輸入相關(guān)的事件但狭,包括點(diǎn)擊和拖動(dòng) |
Events |
*object*.events |
所有游戲?qū)ο蠹?jí)別的事件 |
Create |
create |
動(dòng)態(tài) Sprite 和 Texture 生成方法 |
Display
屬性 |
說(shuō)明 |
Sprite |
具有紋理的游戲?qū)ο笈軌蜻\(yùn)行動(dòng)畫(huà)、輸入事件和物理 |
Image |
具有紋理和輸入但沒(méi)有物理或動(dòng)畫(huà)處理程序的更輕的游戲?qū)ο?/td>
|
TileSprite |
具有可滾動(dòng)和縮放的重復(fù)紋理的游戲?qū)ο?/td>
|
Button |
一個(gè)帶有輔助方法和事件的圖像游戲?qū)ο罅⒋牛蓪⑵滢D(zhuǎn)換為 UI 按鈕 |
SpriteBatch |
自定義 Sprite 批次呈队。如果多個(gè) Sprites 共享相同的紋理,則可以顯著加快渲染速度 |
Rope |
具有基于條帶的紋理的關(guān)節(jié)游戲?qū)ο?/td>
|
Graphics
屬性 |
說(shuō)明 |
Graphics |
允許您繪制原始形狀(直線唱歧、矩形宪摧、圓形)、設(shè)置顏色颅崩、描邊和填充 |
BitmapData |
為空白 Canvas 對(duì)象提供強(qiáng)大的接口几于。可以用作 Sprite 紋理 |
RenderTexture |
一種特殊的紋理沿后,您可以非逞嘏恚快速地繪制 Sprites |
Text
屬性 |
說(shuō)明 |
Text |
使用系統(tǒng)字體或 Web 字體顯示文本,可選擇填充得运、陰影和描邊 |
BitmapText |
使用位圖字體文件的基于紋理的文本對(duì)象 |
RetroFont |
類似于 BitmapText 對(duì)象膝蜈,但使用經(jīng)典的 sprite 表。每個(gè)字符都是固定寬度的 |
Animation
屬性 |
Via |
說(shuō)明 |
AnimationManager |
*sprite*.animations |
在 Sprite 游戲?qū)ο笊咸砑尤鄄簟⒉シ藕透聞?dòng)畫(huà) |
Animation |
|
動(dòng)畫(huà)管理器創(chuàng)建的基礎(chǔ)動(dòng)畫(huà)對(duì)象 |
AnimationParser |
|
Phaser Loader 在內(nèi)部使用它來(lái)解析來(lái)自外部文件的動(dòng)畫(huà)數(shù)據(jù) |
FrameData |
|
構(gòu)成動(dòng)畫(huà)的 Frame 對(duì)象的集合 |
Frame |
|
動(dòng)畫(huà)的單個(gè)幀饱搏。存儲(chǔ)在 FrameData 對(duì)象中 |
Geometry
屬性 |
說(shuō)明 |
Circle |
由位置和直徑組成的 Circle 對(duì)象 |
Ellipse |
由位置、寬度和高度組成的 Ellipse 對(duì)象 |
Line |
由位于 Line 起點(diǎn)和終點(diǎn)的兩個(gè)點(diǎn)組成的 Line 對(duì)象 |
Point |
由 x 和 y 位置組成的 Point 對(duì)象 |
Polygon |
由一系列點(diǎn)組成的多邊形對(duì)象 |
Rectangle |
由 x置逻、y推沸、寬度和高度組成的 Rectangle 對(duì)象 |
RoundedRectangle |
由 x、y、寬度鬓催、高度和圓角半徑組成的矩形對(duì)象 |
Time
屬性 |
Via |
說(shuō)明 |
Time |
time |
所有 Phaser 時(shí)間相關(guān)操作所依賴的核心內(nèi)部時(shí)鐘 |
Timer |
time.create |
包含一個(gè)或多個(gè) TimerEvent 的自定義計(jì)時(shí)器肺素。可以使用一次或設(shè)置為重復(fù) |
TimerEvent |
time.add |
單個(gè)時(shí)間相關(guān)的事件對(duì)象宇驾。屬于 Phaser.Timer |
Tilemaps
屬性 |
說(shuō)明 |
Tilemap |
一張 Tilemap 由一個(gè)或多個(gè) TilemapLayer 和關(guān)聯(lián)的圖塊數(shù)據(jù)組成倍靡。包含用于圖塊數(shù)據(jù)操作和 TilemapLayer 生成的方法 |
TilemapLayer |
Tilemap 中的單個(gè)圖層。繼承自 Phaser.Sprite 并負(fù)責(zé)渲染自身 |
Tileset |
包含用于由 TilemapLayer 渲染圖塊的紋理和數(shù)據(jù)的對(duì)象 |
Tile |
具有相關(guān)屬性的單個(gè) Tile 對(duì)象课舍。地圖中的每個(gè)圖塊都存在其中一個(gè) |
TilemapParser |
用于解析外部加載的地圖數(shù)據(jù)的靜態(tài)類塌西。通常由 Phaser.Loader 直接調(diào)用 |
Math
屬性 |
Via |
說(shuō)明 |
Math |
math |
包含大量與數(shù)學(xué)相關(guān)的輔助方法,包括模糊邏輯和插值 |
QuadTree |
|
一個(gè)獨(dú)立的四叉樹(shù)實(shí)現(xiàn)筝尾。由 Arcade Physics 使用捡需,但也可以直接使用 |
RandomDataGenerator |
rnd |
可播種可重復(fù)隨機(jī)數(shù)據(jù)生成器 |
Network
屬性 |
Via |
說(shuō)明 |
Net |
net |
瀏覽器 URL 和查詢字符串相關(guān)方法 |
Particles
屬性 |
Via |
說(shuō)明 |
Particles |
particles |
Phaser 粒子管理器。在游戲循環(huán)期間調(diào)用并更新任何關(guān)聯(lián)的粒子發(fā)射器 |
Emitter |
|
基于街機(jī)物理的粒子發(fā)射器筹淫。通過(guò) GameObjectFactory 中的 add.emitter 創(chuàng)建 |
Particle |
|
發(fā)射器發(fā)射的單個(gè)粒子對(duì)象站辉。擴(kuò)展 Phaser.Sprite |
Physics
屬性 |
Via |
說(shuō)明 |
Physics |
physics |
核心物理管理器。提供對(duì)所有物理子系統(tǒng)的訪問(wèn) |
Arcade Physics
屬性 |
Via |
說(shuō)明 |
Arcade |
physics.arcade |
Arcade Physics 處理器损姜。包含碰撞饰剥、重疊和移動(dòng)相關(guān)的方法 |
Body |
*sprite*.body |
街機(jī)物理機(jī)構(gòu)。包含速度薛匪、加速度捐川、阻力等相關(guān)屬性 |
Weapon |
game.add.weapon |
Arcade Physics 驅(qū)動(dòng)的武器插件,用于輕松管理子彈池 |
Ninja Physics
默認(rèn)情況下逸尖,Ninja Physics 未捆綁在 Phaser 中
屬性 |
Via |
說(shuō)明 |
Ninja |
physics.ninja |
Ninja物理處理器古沥。包含碰撞、重疊和移動(dòng)相關(guān)的方法 |
Body |
*sprite*.body |
Ninja物理身體娇跟。包含速度岩齿、加速度、阻力等相關(guān)屬性 |
AABB |
|
AABB Ninja物理體型 |
Circle |
|
圓形Ninja物理身體類型苞俘。 |
Tile |
|
Tile Ninja物理身體類型 |
P2 Physics
屬性 |
Via |
說(shuō)明 |
P2 |
phyiscs.p2 |
P2物理世界盹沈。包含碰撞、重疊和移動(dòng)相關(guān)的方法 |
Body |
*sprite*.body |
P2物理體吃谣。包含速度乞封、加速度、阻力等相關(guān)屬性 |
BodyDebug |
|
P2 Body 對(duì)象的調(diào)試特定版本岗憋。呈現(xiàn)出其形狀以進(jìn)行可視化調(diào)試 |
Material |
|
用于世界響應(yīng)的 P2 材質(zhì)肃晚,例如摩擦和恢復(fù) |
ContactMaterial |
|
用于聯(lián)系響應(yīng)的 P2 聯(lián)系材料 |
CollisionGroup |
|
P2碰撞組 |
FixtureList |
|
P2 夾具列表處理程序 |
PointProxy |
|
負(fù)責(zé)將 Phaser Game World 代理到 P2 物理值 |
InversePointProxy |
|
負(fù)責(zé)將 Phaser Game World 代理為反轉(zhuǎn)的 P2 物理值 |
Spring |
|
一個(gè) P2 彈簧對(duì)象 |
RotationalSpring |
|
P2 旋轉(zhuǎn)彈簧對(duì)象 |
Input
屬性 |
Via |
說(shuō)明 |
Input |
input |
輸入管理器。負(fù)責(zé)處理所有輸入子系統(tǒng)仔戈。還負(fù)責(zé)啟用輸入的游戲?qū)ο?/td>
|
Pointer |
input.pointer |
指針?lè)庋b了所有與鼠標(biāo)或觸摸相關(guān)的輸入关串,無(wú)論它是如何生成的拧廊。在多點(diǎn)觸控系統(tǒng)上,可以同時(shí)激活多個(gè)指針晋修。在與輸入相關(guān)的事件中吧碾,傳遞了對(duì)相應(yīng)指針的引用 |
DeviceButton |
pointer.leftButton |
代表鼠標(biāo)或筆/手寫(xiě)筆上的按鈕 |
Keyboard |
input.keyboard |
鍵盤(pán)輸入處理程序。偵聽(tīng)與設(shè)備相關(guān)的事件墓卦。也可以創(chuàng)建 Key 對(duì)象倦春。 |
Key |
|
Key 對(duì)象負(fù)責(zé)監(jiān)聽(tīng)特定的 Key。由鍵盤(pán)類創(chuàng)建 |
KeyCode |
|
KeyCode 常量在創(chuàng)建新的 Key 對(duì)象時(shí)使用 |
Mouse |
input.mouse |
鼠標(biāo)事件處理程序落剪。偵聽(tīng)與設(shè)備相關(guān)的事件并將它們傳遞給活動(dòng)指針 |
MSPointer |
input.mspointer |
MSPointer 事件處理程序溅漾。偵聽(tīng)與設(shè)備相關(guān)的事件并將它們傳遞給活動(dòng)指針 |
Touch |
input.touch |
觸摸事件處理程序。偵聽(tīng)與設(shè)備相關(guān)的事件并將它們傳遞給活動(dòng)指針 |
Gamepads
屬性 |
Via |
說(shuō)明 |
Gamepad |
input.gamepad |
游戲手柄管理器負(fù)責(zé)管理所有連接到設(shè)備的游戲手柄著榴。創(chuàng)建 SinglePad 實(shí)例 |
SinglePad |
input.gamepad.pad<1,4> |
代表一個(gè)連接的游戲手柄 |
DeviceButton |
|
表示 SinglePad 實(shí)例上的按鈕 |
Tweens
屬性 |
Via |
說(shuō)明 |
TweenManager |
tweens |
Tween Manager 創(chuàng)建、更新和銷毀所有活動(dòng)的補(bǔ)間 |
Tween |
|
一個(gè)補(bǔ)間對(duì)象屁倔。通過(guò) game.add.tween 創(chuàng)建脑又。由表示補(bǔ)間和任何子補(bǔ)間的 TweenData 對(duì)象組成 |
TweenData |
|
TweenData 對(duì)象包含與補(bǔ)間相關(guān)的所有信息。由 Phaser.Tween 對(duì)象創(chuàng)建并屬于 Phaser.Tween 對(duì)象 |
Easing |
|
包含可用于 Tweens 的所有緩動(dòng)函數(shù)的靜態(tài)類 |
Sound
屬性 |
Via |
說(shuō)明 |
SoundManager |
sound |
聲音管理器控制所有聲音對(duì)象并可以播放锐借、循環(huán)问麸、淡入淡出和停止聲音 |
Sound |
|
聲音對(duì)象〕瑁可直接播放严卖、暫停、停止布轿,并可調(diào)節(jié)音量 |
AudioSprite |
|
Audio Sprite 是一個(gè) Sound 對(duì)象哮笆,具有代表音頻部分的相關(guān)標(biāo)記數(shù)據(jù) |
System
屬性 |
Via |
說(shuō)明 |
Canvas |
|
包含 Canvas 創(chuàng)建和操作方法的靜態(tài)類。比如添加到dom汰扭,設(shè)置觸摸動(dòng)作稠肘,平滑和圖像渲染 |
Device |
game.device |
Device 類在啟動(dòng)時(shí)檢查系統(tǒng)功能和設(shè)置,并存儲(chǔ)它們供以后訪問(wèn) |
DOM |
|
包含 DOM 特定方法的靜態(tài)類萝毛,包括偏移處理项阴、視口校準(zhǔn)和邊界檢查 |
RequestAnimationFrame |
game.raf |
為核心游戲更新循環(huán)抽象出 RAF 或 setTimeOut 的使用 |
Utils
屬性 |
Via |
說(shuō)明 |
ArraySet |
|
ArraySet 是一個(gè) Set 數(shù)據(jù)結(jié)構(gòu)(項(xiàng)目在集合內(nèi)必須是唯一的),它也保持順序 |
ArrayUtils |
|
特定于數(shù)組的方法笆包,例如 getRandomItem环揽、shuffle、transposeMatrix庵佣、rotate 和 numberArray |
Color |
|
Phaser.Color 是一組輔助顏色操作和轉(zhuǎn)換的靜態(tài)方法 |
Debug |
game.debug |
顯示游戲?qū)ο笳{(diào)試信息的方法集合 |
LinkedList |
|
一個(gè)基本的鏈表數(shù)據(jù)結(jié)構(gòu) |
Utils |
|
對(duì)象和字符串檢查和修改的實(shí)用方法歉胶。包括getProperty、pad秧了、isPlainObject跨扮、extend和mixin |
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者