News:Starling1.3RC

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

原文:http://forum.starling-framework.org/topic/starling-13-release-candidate

目录

Starling 1.3候选版本公布

伙计们,

让大家久等了,但是我想Starling已经准备好释放1.3的版本了!我刚才已经提交到了Git仓库中,并且标注这是一个1.3的候选发布版本。如果您可以尝试一下的话,就会发现这真的很棒。如果它没有导致任何严重的问题,我可以确保它就是正式的1.3版了。

下面是最重要的新特性:

滤镜

现在Starling包含了滤镜特性(我相信很多人已经试用过了),它的工作方式就像原先传统Flash实现的 -- 但是这是GPU渲染的哦。

以下是简单的使用方式:

var sprite:Sprite = new Sprite();
sprite.addChild(...);
 
//颜色矩阵滤镜:
var cmFilter:ColorMatrixFilter = new ColorMatrixFilter();
cmFilter.adjustHue(-0.6);
cmFilter.adjustSaturation(0.5);
cmFilter.adjustContrast(0.2);
cmFilter.adjustBrightness(-0.1);
sprite.filter = cmFilter;
 
//模糊滤镜:
var blurFilter:BlurFilter = new BlurFilter();
sprite.filter = blurFilter;
 
//阴影滤镜:
var dsFilter:BlurFilter = BlurFilter.createDropshadow();
sprite.filter = dsFilter;
 
//外发光滤镜:
var glowFilter:BlurFilter = BlurFilter.createGlow();
sprite.filter = glowFilter;

所有的滤镜可以工作在两种模式下:constrained和baseline。因为这些滤镜非常容易创建,我相信您或其他人将会创建和分享自己的滤镜,就像这样 =) 我计划创建一个WIKI页面来展示大家创建的滤镜,敬请期待!

另外,要查看演示效果,可以点击Starling demo中的“滤镜”部分。

动画API增强

在Tween和Juggler中增加了一些有用的属性和方法,使得一些事情可以更容易的完成。

  • 'repeatCount' 和 'reverse' 属性,这样可以控制动画的重复次数和翻转
  • 'nextTween' 属性,可以方便的连接动画
  • 增加一个便捷的方法 'Juggler.tween', 使用方式也很简单:
Starling.juggler.tween(object, 1.5, {
   transition: Transitions.EASE_IN_OUT,
   repeatCount: 3,
   x: 300
});

在下面的贴子中,有更详细的细节介绍: http://forum.starling-framework.org/topic/tween-juggler-api-updates

资源管理器

这个类是全新的 -- 事实上因为它太新了,我还不确定是否应该把它添加到Starling 1.3的核心版本中。目前,它只是出现在"Demo"和"Scaffold"这两个项目中。这个类实现的是一站式的资源管理,比如声音和纹理。下面介绍它是如何工作的:

您可以创建一个AssetManager实例,并且按照您的需求“排列”纹理和声音,可以这样:

  • 用字符串定位到某个素材,包括PNG图片,JPG图片,ATF纹理,MP3,XML文档(本地或远程的;XML的内容可能是纹理图集索引或位图字体索引)
  • "File"实例指向文件资源或目录(如果它是一个目录,则该目录下的所有文件都会被添加)
  • 包含资源绑定的类定义(静态并且公开)

然后当您调用了"loadQueue(onProgress:Function)"这个方法,纹理和声音就会被实际加载和创建。"onProgress(ratio:Number)"这个方法实际上就是一个回调,它会被一直调用,直到"ratio"这个值等于"1.0",这就意味着所有的对象已经准备好了。

当加载完成,这个类的行为就像一个巨大的TextureAtlas(纹理图集)。为了得到一个纹理,您可以调用"getTexture(name:String)"方法;它将首先查找这个名字的纹理,如果找不到,它就继续搜索所有的纹理图集。您甚至也可以调用"getTextures(prefix:String)"方法,从而创建一个电影剪辑,让它的纹理横跨若干个纹理图集。

这个实例项目演示了这个类如何使用, 您也可以参考这个项目: 移动项目实例.

很多很多的修复和小的改进

新版本中还包含了大量的Bug修复,性能改进和新的工具方法。值得一提的是,增加了一个新的方法叫做"RectangleUtil.fit",可以根据指定的舞台大小,计算出最佳的viewPort(视口)尺寸。

var viewPort:Rectangle = RectangleUtil.fit(
    new Rectangle(0, 0, stageWidth, stageHeight),
    new Rectangle(0, 0, stage.fullScreenWidth, stage.fullScreenHeight));
// 在不改变纵横比的情况下,返回一个矩形,实现在屏幕上居中并缩放到最大尺寸

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

再次感谢所有人的帮助,我在过去的几个月中收到了很多伟大的建议,需求反馈,错误报告等等,感谢你们!

祝好,

丹尼尔


翻译: 郭少瑞

个人工具
名字空间

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