News:Starling1.5

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

目录

Starling 1.5正式发布

原文:http://gamua.com/blog/2014/05/starling-15/

和往常一样,在奥地利,人们正度过一个忙碌的春天。在过去的几个周乃至几个月内,我做了很多性能优化,Bug修复和新功能的添加。我们的小鸟(Starling)几乎每天都能学到新东西!

因此,是时候发布一个新的稳定版本,让大家使用这些增强功能了!这正是我今天想做的事情,大家请紧跟我快速预览一下Starling 1.5的新特性!

图片1

自动配置文件选择

Adobe最近推出了新的Stage3D配置模式,叫做"Baseline Extended",在这个模式下允许我们使用高达4096*4096像素的纹理。在未来的AIR 14中,还有一个新的配置模式:"Standard",这将允许我们使用更复杂的AGAL程序,并带来其他的新特性。

这是个好消息,因为这些新的配置模式为我们带来更大的灵活性。然而这也带来了新的问题,即:在如何为正确的设备使用正确的配置模式方面变得越来越困难。出于这个原因,Starling现在提供了新的方式来选择一种配置模式。

以下是实现这个目的的一种方式:在Starling的构造函数中,传递配置模式的数组,然后Starling根据当前硬件配置来选择第一个可以正确工作的模式:

new Starling(Game, stage, null, null, "auto", ["baselineExtended", "baseline"]);

或者您干脆设置让Starling自己从所有可用模式中选择一个最好的,代码:

new Starling(Game, stage, null, null, "auto", "auto");

然后,当Starling初始化完毕后,您可以通过"starling.profile"属性来确定当前用的是哪个模式。这也您就可以相应的调整您的游戏逻辑,比如:您可以在extended模式下加载超级高清纹理。

为了保险起见,默认选项将是"baselineConstrained"。毕竟如果您支持多个配置文件,还是需要进行一些额外的测试的。

如果可以的话就自动使用RectangleTextures

出于一些Stage3D内部结构方面的原因,默认的"2次幂"纹理总是需要为mip-map映射分配额外的内存。这是很烦人的,因为这意味着您总是要浪费您宝贵的纹理内存的三分之一。

从"baseline"模式开始,Stage3D支持了"RectangleTextures"。其显著特点是,不必遵循2次幂的限定。这带来的最实际的改善是,它不必再为mip-map映射分配内存。

'避免混淆:我在这里谈论的并不是新的Starling Texture类。我说的是Stage3D内部使用的,上传至GPU的纹理类。这些都属于屏幕之后的内部机制。'

Starling现在将在可能的情况下,尽量使用节省内存的纹理。要使用此功能,请按照下列步骤操作:

  • 用"baseline"或"baselineExtended"模式来启动Starling(或使用"auto")。
  • 在Texture/AssetManager的参数中为mip-map设置"false"。

当您这样做了,Starling就会自动使用RectangleTextures,而您会节省高达33%的纹理内存。真TMD爽!

增加对SubTextures旋转的支持

一些忠实的TexturePacker用户可能已经注意到了这一点:当您选择Starling或Sparrow作为输出格式,您可以在纹理图集中旋转纹理,来实现更有效的纹理分布。这将在Starling 1.5中得到支持。

或许,这可以帮您通过减少纹理图集的数量来节省更多的内存。

图片2

增加新的touchGroup属性

这个属性大家已经期待了很久了,现在它终于成为了正式版的新功能。显示对象容器增加了一个新的属性:"touchGroup",如果启用这个属性,将会把容器视为一个单一的可触碰对象。

这个属性类似传统Flash中的"mouseChildren",您应该很了解这个属性了,这意味着一个容器将成为touch事件的"target"。

显著减少启动时间

过去,Starling在初始化的时候会一次性创建所有的AGAL程序。然而大多数游戏只会使用其中的一小部分,所以这实际上是在浪费时间和资源。

因此,这些AGAL程序现在将变为在第一次需要的时候才创建,从而大大缩短Starling的启动时间。(感谢Starling用户ajwfrost让我意识到了这个问题!)

许多小的增强

  • 您现在可以使用AssetManager管理个人纹理。
  • 一个新的"SystemUtil"类,来为多平台开发提供支持。
  • Jugger类包含一个用于延迟处理的叫做"delayCall"的简便方法。
  • Jugger类包含一个新的"repeatCall"的简便方法。
  • 可以为MovieClip实现静音。

It just works™

在移动设备上,您经常需要和一些特殊的硬件设备作战,但这些问题并没有在您的开发设备上出现。现在Starling在这方面做了增强,所以您不必担心。

  • 避免在iPad 1上使用RectangleTexture。
  • AssetManager现在支持AIR新的后台执行模式。
  • 增加额外的上下文丢失检查,使得操作更加稳定。
  • AssetManager现在可以应付正在处理队列时发生上下文丢失的情况。

还有很多,巴拉巴拉巴拉 ...!

和往常一样,完整的更新日志可以在GitHub找到。

万分感谢所有支持我的人,没有您们的帮助就不会有今天的Starling。

请给新版本机会来一展身手!我很高兴如果能收到您的任何意见 --- 请在评论中提出。


翻译:郭少瑞

个人工具
名字空间

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