javascript
Phaser开源2d引擎 javascript/html5游戏框架
?
| ? ? ? ? 功能特點(Features) ? ? ? 易維護代碼(Easy Asset Loading) Phaser可以加載圖片,音頻文件,數據文件,文本文件和自動解析精靈圖和紋理地圖集數據(出口紋理封隔器或Flash CS6) ? 屏幕(Cameras) 查看你的游戲窗口,你可以有多個攝像頭,每個攝像頭可以分為一個獨特的大小區域,屏幕上任何位置,或窗口規模,縮放和旋轉,并有攝像效果,如晃動,閃光燈和褪色。他們還可以按照精靈定制盲區。 ? 精靈和游戲物體(Sprites and GameObjects) Phaser內置游戲對象的物理屬性,包括速度,加速度,彈性和阻力。它們可以縮放,旋轉和碰撞在一起。scrollFactor屬性允許他們一些漂亮的視差效果、屏幕以不同的速度滾動。 ? 組(Groups) 組允許您輕松對象回收(例如:方便了發射彈藥)游戲物體捆綁在一起。組也可以與其他團體或者精靈相撞。您還可以快速設置所有下級組和通話功能的可視性。 ? 動畫(Animation) 無論從精靈表或紋理地圖集數據(JSON數組格式)支持動畫精靈。動畫播放控制,包括循環,一個fps基于定時器和自定義幀。 ? 滾動區(Scroll Zones) 滾動的區域,可以在任何圖像無縫地在任何方向滾動。或者,您可以創建多個滾動區域內一個單一的形象。不斷循環有用的游戲背景和效果。 ? 碰撞(Collision) 有一個四叉樹的精靈,精靈,精靈集合或集合集合碰撞系統。以及大量的幾何交集方法(線與線,線與圓,圓與矩形和多邊形)。 ? 顆粒(Particles) Phaser帶有一個基本的觸發器類,可以在你的控制下放出精靈。無論是在突發或以平穩的速度觸發粒子。顆粒可以反彈,旋轉,縮放,并有自己的生命周期值。 ? 輸入(Input) 有本地的鍵盤,鼠標和觸摸處理(MSPointer事件即將推出) ? 舞臺(Stage) 舞臺是你的游戲生活。您可以輕松地改變其在瀏覽器的位置,寬度,高度,背景顏色(透明的背景上,有你的游戲)和StageScaleMode內。 ? 窗口(World) 窗口是你的游戲的中心。這就是所有的游戲對象,顆粒和其他對象的生存區。窗口可以是任意大小,對象被定位在它里面。您可以使用屏幕查看到窗口。 ? 聲音(Sound) 目前,Phaser使用一個基本的WebAudio實現進行播放。在這方面需要做很多工作,但是,因為它代表你可以加載和播放音樂和效果。 ? 狀態管理(State Management) 對于較大的游戲,它是非常有用,進入游戲狀態down into States,即主菜單,1級,GAMEOVER,Phaser支持狀態管理JavaScript和typescript。或者,你可以忽略的狀態完全建立你游戲的幾個核心功能。 ? 緩存(Cache) 所有加載的資源都存儲在一個易于訪問游戲緩存,它可以清除之間的狀態變化 或通過堅持了整場比賽。 ? 多格地圖(Tilemaps) Phaser將本地解析為CSV tilemap的數據或JSON接口的多格地圖。它支持分層平鋪圖,圖層的可見性和基于層tilemap的碰撞,所以你可以在一種無形的tilemap層,如果你想你的精靈碰撞。 ? 游戲縮放(Game Scaling) 游戲縮放在你的控制之下。輕松刪除URL/狀態欄移動brpwsers(iOS和Android),并啟用比例縮放,固定的大小和方向檢查。 ? ? ? 進展中的工作(Work in Progress) 我們的一些功能,我們知道Phaser缺乏,這里是我們的當前優先級列表: ? 1、更好的聲音控制(音頻精靈,平移,循環) 2、MSPointer支持 3、文本渲染(位圖字體,Canvas文本,AngelFont,Glyph設計) 4、按鈕和其他基本的UI ? 在此之外,還有很多其他的事情,我們計劃增加,如WebGL的支持,support, Spine/Spriter的動畫格式的支持,傾斜碰撞多格,路徑尋找,并支持自定義插件。但是,上面的列表中的優先項目,絕不詳盡!然而,我們覺得,現在緊緊鎖定Phaser的核心結構,所以安全使用,創建一定規模的小游戲。 ? 測試套件(Test Suite) Phaser不斷增長的測試套件。就個人而言,我們更好地學習看小成品代碼示例,所以我們創建測試每一個新功能,增加很多,其中。“測試”文件夾里面,你會發現當前設置。如果你寫了一個特別好的測試,那么請發送給我們。 ? 運行測試需要通過本地Web服務器(從您的瀏覽器,以避免文件的訪問權限錯誤)。 ? 確保通過您的Web服務器,您可以瀏覽到“測試”文件夾中。如果你有PHP的安裝,然后啟動: ? 測試/index.php ? 眼下測試套件需要PHP,但我們會盡快刪除此規定。 ? 您也可以瀏覽Phaser的在線測試套件。 ? 貢獻(Contributing) Phaser是在早期階段,雖然我們還有很多添加到它,我們希望只得到它在那里,并與大家分享。 ? 如果你發現一個bug(極有可能),那么請在github上報告。 ? 如果你有功能要求,或已寫了一個小游戲或演示,顯示了在使用Phaser,那么請您聯系我們。我們很樂意聽到你的。Phaser一部分的HTML5游戲開發團隊的論壇或在此網站上發表評論,你可以做到這一點。 ? 錯誤?(Bugs) 請與盡可能多的信息并將它們提交到github的問題跟蹤。 ? ? ? ? ? ? 更改日志 ? 最新版本:0.9.5 ?(github上) 發行時間:2013年5月2日 總例子:71 ? ? V0.9.5 ? *移動啟動屏幕和PauseScreen的階段到自己的類(系統/屏幕/啟動屏幕和PauseScreen)。 *更新了PauseScreen展現出微妙的動畫效果,使其更容易創建自己的有趣暫停畫面。 *修改的游戲,所以它分裂成3的循環- bootLoop pauseLoop和環路(核心循環)。 *更新了新標識和新的色彩周期效應的啟動屏幕。 *增加了Game.isRunning的-設置為true,一旦Game.boot過程就結束了,如果你給一些功能的構造函數或狀態。 即使*修正小bug在Signal.removeAll可以嘗試縮短_bindings的不確定。 *添加新FXManager用于處理所有特效屏幕(很快其他游戲對象) *移除閃存,褪色和動搖從屏幕類搬到新的SpecialFX項目。 *SpecialFX編譯build文件夾,復制到測試中的Phaserfx.js。如果你不需要在FX,不包括js文件 *該項目現在產生打字稿聲明文件,并更新所有測試中使用它們自己的引用。 在Flash *修正了一個錯誤,淡入淡出和動搖。3秒以上的持續時間會失敗什么。 *修正了一個錯誤的屏幕抖動,使得它有點失控,現在正確地搖搖 *新增新的Scanlines的屏幕FX? *修正偏移值在GeomSprite.renderPoint被忽略(感謝bapuna) *增加了新的反光鏡屏幕FX。可以鏡像攝像機圖像水平,垂直或一個可選的填充顏色疊加。 *新增Camera.disableClipping當你不關心的事情正在繪制邊緣外(有用的一些FX)。 *更新TilemapLayer的碰撞,使數據現在存儲在_tempTileBlock期間避免常量數組創建游戲循環。 *TilemapLayer.getTileOverlaps()現在返回所有多格重疊的對象,而不僅僅是一個布爾 *Tilemap.collide現在可選的回調和上下文參數用于碰撞發生。 *添加Tilemap.collisionCallback Tilemap.collisionCallbackContext的,所以您可以設置一次,而不是重新設置他們在每次調用碰撞。 *Collision.separateTile現在有2個額外的參數:separateX和separateY。如果真正的對象將被分離重疊,否則只是重疊返回布爾結果。 *新增Tile.separateX Tile.separateY(默認為true)。設置為false,如果你不想一瓦,對象移動停止,你只希望它返回到回調的碰撞數據。 *加入Tilemap.getTileByIndex(值)來訪問一個特定類型的多格,而不是通過其地圖索引。 *新增TilemapLayer.putTile(X,Y,索引) -允許你插入新的多格數據映射層(創建自己的瓦片編輯器!) *TilemapLayer.getTileBlock現在返回的地圖數據,而不是一個獨特的陣列只是一個臨時塊陣列 *增加了TilemapLayer.swapTile的-掃描地圖的特定區域內的所有tileA和掉他們tileB的實例,反之亦然。 *增加TilemapLayer.replaceTile -掃描指定的地圖區域,取代所有tileA實例與tileB。離開tileB不受影響。 *新增TilemapLayer.fillTiles -填充特定區域內的指定 *添加TilemapLayer.randomiseTiles的多格地圖-地圖與隨機多格從指定的列表填充給定的區域。 *添加新的樂趣“地圖上畫“測試-反彈那些胡蘿卜! *改變SoundManager類類第一出戲(感謝聲母和hackmaniac的尊重音量) ? V0.9.4 ? *新增Tilemap.getTile,getTileFromWorldXY,getTileFromInputXY? *添加Tilemap.setCollisionByIndex setCollisionByRange的 上架GameObject.renderRotation布爾控制精靈是否會視覺旋轉或(有用的,當角度需要改變,但圖形不) *增加額外的檢查的Camera.width/height,使你不能將它們設置舞臺大小 *大于新增Collision.separateTile和Tilemap.collide? *修正tilemap的邊界檢查,如果地圖是游戲尺寸小于 *修正:World._cameras的市民,World.cameras轉身它(感謝Hackmaniac)到一個getter Game.camera? *修正:正確地Circle.isEmpty檢查直徑(感謝bapuna), *更新Gruntfile出口包裹在UMD塊為require.js/CommonJS的(感謝Hackmaniac phaser.js新版本) ? V0.9.3 ? *新增的新ScrollZone游戲對象。無休止地有用,但尤其是滾動的背景。 *加入GameObject.hideFromCamera(cameraID)停止一個對象渲染特定的攝像機(也showToCamera和clearCameraList) *的新增GameObject.setBounds()游戲對象限制在某個特定區域內的窗口(用于停止創建示例測試。他們去的邊緣) *添加GameObject.outOfBoundsAction的,可以是越界停止停止運動的物體,或出界,殺殺死它。 *添加GameObject.rotationOffset的。有用的,如果你的圖形需要旋轉,但沒有面臨零度(右)繪制。 *添加shiftSinTable和shiftCosTable的的GameMath類,允許通過快速迭代的數據表。 *增加了更強大的框架檢查到AnimationManager? *重新內置的tilemap處理從無到有,允許適當的分層地圖(出口多格/MAPPY) *tilemap的不再需要的緩沖區屏幕(準備WebGL的支持) *固定的問題,與集合沒有加入到游戲新創建的對象(感謝JesseFreeman) *修正了一個潛在的競爭條件在Game.boot問題(感謝Hackmaniac) *固定的問題與前一個紋理地圖集顯示零幀動畫開始播放(感謝JesseFreeman) *修正了一個錯誤的地方Camera.visible =假仍然呈現 *刪除的需要DynamicTextures需要一個關鍵的財產和更新測試用例。 *您現在可以通過一個數組或單一的價值Input.Keyboard.addKeyCapture()。 ? V0.9.2 ? *固定的問題與創建被稱為如果有一個空的init方法。 *新增能力翻轉精靈(Sprite.flipped =真)+測試情況。 *新增能力重新啟動精靈動畫。 *精靈動畫不'T重新啟動,如果你叫他們玩時,他們已經在運行。 *增加Stage.disablePauseScreen。設置為true,停止暫停當標簽失去焦點時,你的游戲。 ? V0.9.1 ? *添加新的align屬性到游戲物體渲染時控制安置。 *對齊例如添加到的精靈測試組(單擊鼠標改變對齊位置) *增加了一個新的。單類。相同點,但較小/較少的功能,更新游戲物體使用它。 *完全重建Rectangle類使用的MicroPoints和9點周圍的邊緣,要采用 新的碰撞系統中存儲的值。 *Game.Input現在有2個信號,您可以訂閱向上/向下事件,精靈對齊使用的例子。 *更新了美國的例子帶來符合0.9版本。 ? V0.9 ? *大的重構。現在一切都住內的Phaser模塊,因此所有代碼和所有的測試都被更新以反映此。一點點更詳細的編碼,但停止的框架通配符的全局命名空間。也應WebStorm和相似的編輯器的代碼洞察工作 *新增新GeomSprite對象。這是一個精靈,使用幾何級顯示(圓形,矩形,點,線)。這是非常靈活! *增加了幾何交集結果的對象。 *增加了新的的碰撞類和移動的一些功能有。包含了所有的游戲對象和幾何相交的方法。 *現在可以創建一個精靈動畫幀的名稱,而不是索引。有用的,當你的動畫紋理地圖集里面。附加測試顯示。 *新增addKeyCapture(),removeKeyCapture()和clearCaptures()Input.Keyboard的。調用event.preventDefault()來設置捕捉任何鍵碼,讓您避免頁面滾動時,例如使用光標鍵在游戲中。 *增加了新的運 ??動類,它包含了很多方便的功能,如'moveTowardsObject','velocityFromAngle'? *吐溫經理。現在,您可以創建充斥著通過Game.createTween(或更多的控制game.tweens)。所有常見的犯罪嫌疑人是在這里:彈跳*彈性,五次,等它掛接到游戲核心時鐘,因此,如果你的游戲暫停和繼續充斥著相應的調整。 ? V0.8 ? *新增能力框架精靈按名稱(sprite.frameName),有用的,當你加載一個紋理地圖集文件名 ??設置的值,而不是使用幀索引。 *更新紋理圖集4演示表明這一點。 *修正了一個錯誤,將如果你試圖創建一個精靈使用無效質地鍵,導致運行時錯誤。 *加入的DynamicTexture支持和它的測試用例。 ? V0.7 ? *更名為全屏StageScaleMode,因為它是更擬合。測試橫跨Android和iOS的各種規模的模式。 *新增在窗口的x/y坐標輸入類,并從任何屏幕的能力得到窗口的x/y輸入坐標。 *新增RandomDataGenerator種子隨機數生成。 設置游戲窗口的大小,現在調整默認的攝像頭(可選bool標志) ? V0.6 ? *加入觸摸支持移動設備(桌面啟用它)和人口稠密x/y的坐標位置。從觸摸和鼠標輸入有共同的價值觀。 *增加了新的圓幾何級(用于觸摸)和移動到一個幾何文件夾中。 *新增設備類設備的檢查。 *新增全屏類(滾動網址欄在iOS和Android的方式在移動設備上啟用全屏支持) ? V0.5 ? *初始版本 ? ? 許可證(License) 版權所有2013年理查德·戴維,光子風暴有限公司保留所有權利。(Copyright 2013 Richard Davey, Photon Storm Ltd. All rights reserved.) ? 再分發和使用源代碼和二進制形式,不論有否修訂,允許符合下列條件:(Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:) ? 1。再分發源代碼時必須保留上述版權聲明,此條件列表和以下免責聲明。(Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.) ? 2。以二進制形式再分發必須再現的文檔和/或其他材料的分發提供上述版權聲明,此條件列表和以下免責聲明。( Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.) ? 本軟件提供的理查德·戴維“AS IS”任何明示或暗示的擔保,包括但不限于 針對特定目的的適銷性和適用性的默示擔保均不承擔任何責任。在任何情況下,理查德·戴維或 貢獻者均不對任何直接的,間接的,偶然的,特殊的,懲罰性的或 后果性的損害(包括但不限于替代商品或 服務的采購,使用,數據或利潤損失;業務中斷)但是造成和 任何責任理論,無論是在合同,嚴格責任或侵權行為(包括疏忽或 其他原因)因任何WAY OUT,這個軟件的使用,即使已被告知發生此類損害的可能性。 ? THIS SOFTWARE IS PROVIDED BY RICHARD DAVEY “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RICHARD DAVEY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ? 軟件和文??檔中包含的意見和結論,那些 作者和不應該被解釋為代表官方政策,無論是明示 ? ? ? ? 獲得支持和Phaser論壇上聊到其他開發者 ? Phaser是一個2D的JavaScript/打字稿HTML5的游戲框架。它的誕生從我們自己內部的圖書館,Flixel Flixel電動工具的異花授粉 ?。如果你熟悉Flixel,你應該能轉到Phaser,并不需要太多的時間。 ? Phaser建設我們的主要目標是讓你快速制作游戲,刪除一些煩雜代碼,HTML5可以改變你的方式。 ? 我們也仔細設計以使其不執行嚴格的代碼結構,流程或方法,你什么樣的。有沒有假的OOP,被迫繼承或魔法物品被發現。在其最低限度的所有你需要的是一個包括一個單一的功能。您可以創建使用JavaScript或打字的游戲,完全取決于你。Phaser的打字稿版本兼容Visual Studio和WebStorm。 ? 雖然還早在其生命周期與開發社區的支持下,我們正在快速邁向1.0版本。 ? ? ? 要求 Phaser中創建的游戲需要一個現代的Web瀏覽器支持canvas標簽。這包括Internet Explorer 9+, Firefox, Chrome, Safari和Opera。它也適用于移動網絡包括Andr??oid 2.x的瀏覽器及以上和iOS5的移動Safari瀏覽器及以上的移動網絡瀏覽器。 ? 如果命令行編譯通過打字稿,請使用`目標ES5` ? 如果你需要它包括Grunt文件將生成一個RequireJS/Phaser CommonJS的版本構建。 ? Phaser僅僅是45KB gzip壓縮和輕量級的。 ? 入門指南 直到我們得到周圍寫一個一定要檢查以下指南: ? 開始寫建立一個HTML5游戲與Phaser由杰西·弗里曼的縮寫快速指南 ? 有問題嗎?詢問中Phaser論壇。 ? ? 官方下載網址: http://www.photonstorm.com https://github.com/photonstorm/phaser http://www.html5gamedevs.com/forum/14-phaser/ |
?
原文來自:http://html6game.com/thread-1023-1-1.shtml
?
轉載于:https://www.cnblogs.com/html6game/p/3152739.html
總結
以上是生活随笔為你收集整理的Phaser开源2d引擎 javascript/html5游戏框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝桥杯:位运算
- 下一篇: CodeForces - 1110C-M