FLAG是一款專門用于2D游戲開發(fā)的開源HTML5游戲引擎,支持任何兼容HTML5的設(shè)備,F(xiàn)LAG包含了Box2D物理引擎、基于瀏覽器的編輯器POLE,以及度量和事件系統(tǒng)WIND,稱得上是一套專業(yè)而又完整的HTML5游戲開發(fā)解決方案。
FLAG擁有著非常豐富的屬性和方法,并在官網(wǎng)上對其進行了詳細(xì)列舉。除了Box2D物理引擎所包含的一系列對象、世界、調(diào)試、TimeStep等屬性之外,還包括FPS、畫布、指針、GUI、tilesToDraw等。而在方法方面,F(xiàn)LAG.Actor()支持在場景中返還一個Actor值,F(xiàn)LAG.addJoint()可在兩個Actor之間加入一個Joint,F(xiàn)LAG.drawSprites_GUI()能實現(xiàn)渲染精靈對象,而在場景加載時,則可通過FLAG.setUpBox2D()對Box2D物理世界進行設(shè)置。
示例:
FLAG.Actor("myActor");//返還Actor
對于為什么會開發(fā)FLAG,其開發(fā)者,來自美國賓夕法尼亞州立大學(xué)的多媒體專家兼教育類游戲開發(fā)者Zac Zidik在《為什么我會創(chuàng)建一款游戲引擎?》給出了自己的答案。Zidik表示,最初開發(fā)FLAG主要有兩大目標(biāo),首先,是想要創(chuàng)建一個包含可用于教育類游戲開發(fā)的可重用對象、進程及代碼,因為當(dāng)開始一個新的游戲項目時,總是得繁瑣地從頭開始,而FLAG則能夠為項目提供一個高起點,以此來幫助開發(fā)者大幅縮減開發(fā)時間。
其二,則是創(chuàng)建一個HTML5游戲引擎。Zidik說道,“在我設(shè)想FLAG時,對于Web游戲最通用的開發(fā)環(huán)境是Flash,然而,F(xiàn)lash卻存在幾個繼承性的問題,比如,不能完美支持新興的移動設(shè)備、無法滿足跨平臺需求等。于是,在早期HTML5還未大熱時,我們便率先嘗試了HTML5的一些新特性,而事實也證明,在技術(shù)抉擇上,我們賭對了。”
現(xiàn)在,您還可以進入FLAG的mobilehub主頁進行資源分享和討論,開發(fā)者可直接登陸GitHub下載FLAG,想要了解更多關(guān)于FLAG引擎的信息,可查看FLAG官網(wǎng)。