News:Starling 1.1正式版本发布

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

原文:http://gamua.com/blog/2012/05/starling-11/

翻译:郭少瑞

在“1.0”正式发布后的几个星期,我们的Starling没有停止脚步,相反,它进行了一些艰苦的飞行训练,并学到了一些很酷的新花样!因此,事不宜迟,我们推出了最新的Starling框架:1.1

目录

自适应分辨率的开发

AIR 3.2已经正式发布,下一个版本(3.3)也是指日可待,移动设备正成为越来越重要的Flash目标平台。

创建一个运行在不同平台的游戏,也就意味着要让它适应不同的屏幕分辨率。优化这个游戏来适应所有的屏幕将是一个单调枯燥的过程,除非,您已经开始用Starling 1.1 !

Multiple-devices.png

来自iOS开发阵营的开发者会非常熟悉这个策略:您只需要为一种分辨率开发您的游戏(比如老版本的iPhone),但是提供两个(或更多)的纹理集合!在运行时,根据屏幕分辨率,选择一套最佳的纹理集合,使得游戏看起来清晰和锐利。

这个功能是由Starling新增加的'contentScaleFactor'和纹理的"scale" 属性来实现的。Starling WIKI已经包含了很多教程,来向您展示实现这个功能的代码细节,移步这里阅读: StarlingManual:多屏幕分辨率的开发

如果您希望快速了解这个功能的实现效果,我建议您尝试一下Starling新版本的Demo自带的一个移动项目实例。如果您用的是Mac机器,可以尝试用transporter chief快速把IPA部署到您的iOS设备。当前这个工具已经成为Starling下载包的一部分。

这还不是全部!Starling还包含了一个“脚手架”项目,您可以把它作为您的移动设备游戏的项目基础。它包含了一些您非常需要的基本代码,让您可以快速开发项目。

混合模式

一个经常在Starling论坛被提及且要求实现的功能是,实现Flash的混合模式。我只想说:我们听到了您的呼声!现在您可以使用6个不同的混合模式,或者创建您自己的混合模式。而且可以应用在任何显示对象上面:

anyObject.blendMode = BlendMode.SCREEN;

这个功能还带来一个很好的“副作用”:现在您可以从渲染纹理中动态清除内容!只需要把您希望清除的对象的混合模式设置为“ERASE”,并且在一个纹理上绘制它。(更新后的演示程序展示了它是如何工作的)

Blendmodes.png

iPad性能提升

在论坛上经常被提及的一个主题就是关于iPad1代的性能,嗯,很让人失望(当然这个问题不单纯是Starling的问题,还有Stage3D本身的问题)。

Adobe也听到了这些投诉,并分析了在这个硬件上到底发生了什么。而实际上,他们找到了引起性能问题的原因!原来是iPad 1代的GPU在片段着色器的方式的限制。有了这些知识,我们可以改变Starling代码来解决这个问题:这带来了巨大的性能改进(Starling benchmark从120个对象提升到600个对象)! 而这个问题在一些Android设备上也存在,这就意味着,这个改进在许多设备上都能得到明显的性能提升。

您需要做什么才能激活这个优化功能?只需要升级到1.1即可!

状态显示

这是额外增加的一个贴心的小功能。现在Starling内置了一个状态显示,用来显示帧频和内存占用情况。示意代码:

starling.showStats = true;

您可以从这个Demo看运行效果。

Showstats.png

这个功能带来的另外一个“副作用”是:Starling现在内置了一个可用于调试信息输出和原型实现的位图字体,非常完美,它基于Craig Kroeger制作的"Uni05",并将它整合到了一个尺寸只有128x64的纹理中去。没有比它更小的了!如果您要使用它,只需设置任何TextField的字体为“BitmapFont.MINI”。

还有更多有用的东西

这里我只能找比较重要的说一些,您可以看这个完整的更新日志。新版本包含了很多小的优化,并修复了很多论坛上提及的Bug。

欢迎使用新版本的Starling,不要忘了在评论里留下您宝贵的体验和建议!


翻译:郭少瑞

个人工具
名字空间

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