News:Starling1.3RC
原文: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上找到.
再次感谢所有人的帮助,我在过去的几个月中收到了很多伟大的建议,需求反馈,错误报告等等,感谢你们!
祝好,
丹尼尔
翻译: 郭少瑞