订阅移动开发RSS CSDN首页> 移动开发

全功能API!开源2D游戏引擎Firmament

发表于2014-11-19 17:34| 次阅读| 来源CSDN| 0 条评论| 作者刘璐璐

摘要:Firmament是由开发者Jordan Wambaugh推出的一款开源的2D游戏引擎,主要用于视频游戏的开发,支持Flash、PC、Mac、iOS、Android和HTML5等平台。为了能有逼真的2D模拟,还提供了强大的物理引擎,且拥有全功能的API。

Firmament是由开发者Jordan Wambaugh推出的一款开源的2D游戏引擎,主要用于视频游戏的开发,代码已托管至Github上。Firmament基于Haxe NME,几乎可以在任何一个平台上运行,其中包括Flash、PC、Mac、iOS、Android和HTML5等。为了能有逼真的2D模拟,还提供了强大的物理引擎,可以轻松打造出类似“愤怒的小鸟”的游戏。此外,它还拥有全功能的API。


虽然Firmament的推出也有段时间了,但它的开发者一直在对它进行改善。之前,Firmament使用的是动态对象来存储和传递配置数据,虽然使用起来没什么问题,但是验证数据和处理默认值都需手动。对此,其开发者在今年做出了改善,创建了一个FConfigHelper类,将这些类进行包装,并提供验证的方法等。然而,为了保持向后的兼容性,你需要自己来实例化这些帮手。但是现在,由于Haxe抽象类型的存在,就可以自动获取FConfigHelpers的功能,并且旧的类型配置也能完全向前向后兼容。

现在,FDataLoader返回的是FConfig对象,而不是之前的Dynamic类型对象。这些FConfig对象可以隐式地在动态对象和FConfig对象之间转换。你仍可以使用Reflect方法来阅读它们,不过如果你接受了配置对象是FConfig类型,你可以访问FConfig方法。

//Returns the field with name field, validating it has a type of type. If it's not set, returns default.
get(field:String,?type:Dynamic=null,?def:Dynamic=null)

你还可以采用数组访问

class MyComponent extends FEntityComponent  {
    var _myVar:Float;
    public function new(){
        super();
    }
    override public function init(config:FConfig){
        _myVar = config.get("myVar",Float,0);
        //Same, but without validation or default:
        _myvar = config["myVar"];
        //can also write with array access:
        config["myVar"] = 2.5;
    }
}

传送门:mobilehub主页

(文/刘璐璐 责编/唐小引)

0
0
  • CSDN官方微信
  • 扫描二维码,向CSDN吐槽
  • 微信号:CSDNnews
程序员移动端订阅下载

微博关注

相关热门文章