设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

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

2014-11-20 10:13| 发布者: joejoe0332| 查看: 1119| 评论: 0|原作者: 刘璐璐|来自: CSDN

摘要: Firmament是由开发者Jordan Wambaugh推出的一款开源的2D游戏引擎,主要用于视频游戏的开发,代码已托管至Github上。Firmament基于Haxe NME,几乎可以在任何一个平台上运行,其中包括Flash、PC、Mac、iOS、Android和H ...

  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方法。


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

  你还可以采用数组访问
  1. class MyComponent extends FEntityComponent  {  
  2.     var _myVar:Float;  
  3.     public function new(){  
  4.         super();  
  5.     }  
  6.     override public function init(config:FConfig){  
  7.         _myVar = config.get("myVar",Float,0);  
  8.         //Same, but without validation or default:  
  9.         _myvar = config["myVar"];  
  10.         //can also write with array access:  
  11.         config["myVar"] = 2.5;  
  12.     }  
  13. }  

  传送门:mobilehub主页

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部