我发布了一个版本v0.2,该版本是未优化版本,且没有添加Touch事件体系,但是由于是最基础且未优化的,所以可以通过参考代码快速的了解实现原理。
接下来的一段笔记开始进行渲染优化,我会把所有的目光都集中到渲染的优化之上。
点击下载:https://codeload.github.com/hammerc/hammerc-study-Stage3D/zip/v0.2
先看看Demo(特别说明:我使用了Whack的素材,Whack游戏开源地址:https://github.com/byxb/whack):
动画实现比较简单,Starling中创建了一个动画循环管理类Juggler,该类在Starling类中进行实例化,每帧都会调用advanceTime方法来循环遍历添加到其内部的动画对象的advanceTime方法实现每个动画对象自身的逻辑。
IAnimatable接口定义了动画对象,所有需要添加到Juggler的类都需要实现该接口。
MovieClip类实现了IAnimatable接口,其内部管理多个Texture2D对象,每次执行advanceTime方法时会根据时间计算出当前应该显示的纹理用于显示,实现动画播放。
Tween类也实现了IAnimatable接口,但是其是用来实现缓动效果的。
新创建的MovieClip类需要添加到Starling.current.juggler对象中才会实现动画播放哦。