使用Starling框架的一些心得

一、侦听MovieClip播放结束,设置其loop为false
如果要监听动画是否播放到最后一帧,有至少如下两种方式:
1、监听starling.events.Event.COMPLETE事件
2、在starling.events.Event.ENTER_FRAME事件中判断mc的currentFrame
需要注意的是,要将mc的loop设为false,原因是Starling采用了类似TweenLite的advancedTime机制,使动画播放效果不受Flash的fps影响,如果mc的loop是true,这种机制对如上两种方式造成的影响分别是:
1、发出这个事件的时候,mc有可能播回了第一帧,影响显示效果;
2、帧脚本执行时间太长,使advancedTime增大,可能会导致mc跳过最后一帧直接播到下一次loop的前几帧,绕过了ENTER_FRAME里的currentFrame判断
建议:如果对mc播放结束有侦听,一定要设置loop为false

二、将Starling代码作为项目的源路径时的”多名称引用”报错
建议:删除Starling项目里默认包的Starling.as
三、多个Starling的实例引发Texture失效的问题
Starling实例在被new出来的时候会被自动设置为当前的活动实例,而生成Texture的时候,会为其当前活动实例的Context3D调用uploadFromBitmapData()将素材数据上传。而不同的Context3D之间的数据无法共用,所以在旧Starling实例活动的时候生成的Texture是无法在新的Starling实例里显示的。
建议:用一个Starling实例即可。
四、与传统显示对象的配合
对于Starling的Sprite有nativeOverlay返回Context3D之上的native Sprite
Starling官方提示:在Context3D上叠加传统显示对象可能会导致效率受到影响,所以要谨慎使用;
个人理解是,PC机上没问题,移动设备上要慎重使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值