News:Starling1.2

来自Starling中文站
跳转到: 导航, 搜索

原文:http://gamua.com/blog/2012/08/starling-12/

Starling文站翻译整理。

在过去的几个月中,我们的“红色小鸟”(指Starling,因为Starling的LOGO是一只小鸟---译者注)已经得到了很多指引。已经有大量的基于Starling的游戏发布了,其中就包括很多知名公司,比如Zynga(星佳)。而且现在您可以通过网上的视频教程来学习Starling。看,小鸟已经出现在好几次开发者大会上。

目录

性能优化

是的,我知道:性能不代表一切。但是,如果Starling可以更快地渲染,您必须花在代码优化上的时间就越少。所以您听到这个消息一定很高兴:新版本的Starling比以前要快50% !

怎么证明?您还记得在Starling的体验项目中,有一个基准测试?在之前的版本中,在iPad 1上可以运行690个对象。现在这个数字是1080 !(免责声明:将纹理调整成了32*32像素,否则iPad的填充率会限制它的渲染效率)

此外,我删除了很多的临时对象分配。这意味着,垃圾回收器不再做大量的工作,从而保持您的游戏可以运行在稳定的帧频上。

这些优化的建议和想法来自Starling社区。我在论坛上,在GitHub上,以及从Zynga公司,收到了很多来自用户的真正有用的建议,非常感谢大家的参与!

增强的事件系统

传统的Flash事件系统一直饱受批评,很多人认为它会导致对象过度分配:毕竟每次派发一个事件,就意味着要创建一个新的"Event"的实例。

Starling现在对事件系统做了一些微调:

  • 提供一个新的方法来派发事件,"dispatchEventWith",Starling在屏幕背后用对象池缓存了这些对象。这样可以避免产生过多的事件对象。
  • 标准事件类增加了一个新的"data"属性,可以用来附加任何类型的数据,这样您可以避免经常生成新的Event子类。
  • 事件处理方法现在可以拥有零个,一个或两个参数。如果您不需要事件对象,为什么必须要接受它呢?而两个参数的版本,则可以让您更方便的访问"data"属性。

Starling WIKI上已经包含了一个详细的教程来描述这些变化:增强的事件系统。别忘了更新代码!这是我在Starling 1.2中我最喜欢的特性之一。

约束模式

Flash Player 11.4 和 AIR 3.4 (当前仍处于Adobe实验室中),介绍了“Stage3D约束模式”。它允许Stage3D在更多的计算机上实现硬件加速(值得注意的是,现在流行的Intel GMA芯片组已经被支持了)。这个介绍里也包括了对着色和纹理的一些限制,但Starling可以轻松应对。

出于这个原因,现在约束模式是Starling的默认设置 -- 这将可以让您的游戏运行在更多的用户电脑上,而不必改任何一行代码。

顺便说一句,您仍然可以使用"Baseline"模式(这是以前的Starling的默认值)。如果您的游戏代码在新的约束模式下不起作用(比如因为您写了复杂的着色器代码),可以利用Starling构造方法中新增的参数来回归传统模式。

与其他的Stage3D框架集成

Starling现在可以和其他Stage3D引擎协作了,比如Flare3D或者Away3D。这意味着,您可以利用Starling来为您的3D游戏创建2D的用户界面 !

Starling-away.gif

关于这个功能的更多消息:

倾斜

显示对象增加了两个新的属性:"skewX"和"skewY"。顾名思义,它允许您沿着X轴或Y轴方向倾斜对象。该功能的工作方式遵循Flash pro用户的习惯和期望。

其实,倾斜得到支持,是论坛中富有成果的讨论和GitHub中的请求共同推动的结果,感谢大家的参与!

Skewing.png

更新的状态显示

这个功能不大但很有用:状态显示中增加了每帧的绘制方法调用次数。这将让您可以更容易的发现自己的性能问题,判断自己是否用正确的方式处理了显示列表。

此外,您现在可以使用 "starling.showStatsAt()",定义状态显示的位置。

Stats-draw-calls.png

更多

当然,这仅仅是介绍一些比较有趣的特性。除了上面所说的,新版本还包含了大量的错误修正和优化。当然,您可以从这里找到完整的更新日志

您感觉新版本怎么样?我试图保持Starling的强项:轻量级且易于使用。所有新功能的添加不会导致任何膨胀或代码重复。最小的API体积等于最大的乐趣 !=)


翻译: 郭少瑞

个人工具
名字空间

变换
操作
导航
Starling中文资料
Starling原创教程
论坛
友链
工具箱