`
wesleysong
  • 浏览: 21281 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用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机上没问题,移动设备上要慎重使用
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics