FLAG是一款专门用于2D游戏开发的开源HTML5游戏引擎,支持任何兼容HTML5的设备,FLAG包含了Box2D物理引擎、基于浏览器的编辑器POLE,以及度量和事件系统WIND,称得上是一套专业而又完整的HTML5游戏开发解决方案。
FLAG拥有着非常丰富的属性和方法,并在官网上对其进行了详细列举。除了Box2D物理引擎所包含的一系列对象、世界、调试、TimeStep等属性之外,还包括FPS、画布、指针、GUI、tilesToDraw等。而在方法方面,FLAG.Actor()支持在场景中返还一个Actor值,FLAG.addJoint()可在两个Actor之间加入一个Joint,FLAG.drawSprites_GUI()能实现渲染精灵对象,而在场景加载时,则可通过FLAG.setUpBox2D()对Box2D物理世界进行设置。
示例:
FLAG.Actor("myActor");//返还Actor
对于为什么会开发FLAG,其开发者,来自美国宾夕法尼亚州立大学的多媒体专家兼教育类游戏开发者Zac Zidik在《为什么我会创建一款游戏引擎?》给出了自己的答案。Zidik表示,最初开发FLAG主要有两大目标,首先,是想要创建一个包含可用于教育类游戏开发的可重用对象、进程及代码,因为当开始一个新的游戏项目时,总是得繁琐地从头开始,而FLAG则能够为项目提供一个高起点,以此来帮助开发者大幅缩减开发时间。
其二,则是创建一个HTML5游戏引擎。Zidik说道,“在我设想FLAG时,对于Web游戏最通用的开发环境是Flash,然而,Flash却存在几个继承性的问题,比如,不能完美支持新兴的移动设备、无法满足跨平台需求等。于是,在早期HTML5还未大热时,我们便率先尝试了HTML5的一些新特性,而事实也证明,在技术抉择上,我们赌对了。”
现在,您还可以进入FLAG的mobilehub主页进行资源分享和讨论,开发者可直接登陆GitHub下载FLAG,想要了解更多关于FLAG引擎的信息,可查看FLAG官网。