关于as3运动效果的总结
看了《ActionScript3.0高级动画教程》一书,用类映射的方式做了一个小东西,方便学习,经过几天发现了一些as3代码动画的小技巧,下面我们一起分享一下。
所有的运动都借助帧事件或定时器来做,可以只使用一个帧事件或一个定时器来完成所有运动的监听和运算,节省开销。
运动是变化,它的普遍做法是:第一初始化运动条件,二根据运动的公式或模型运算,三更新物体的坐标或其他属性。核心的操作都在第二步里面。书中贯穿了很多物理概念,和基础的运动联系紧密的就数向量这个概念了。
向量这里不做详细介绍,简单的说就是方向加大小。向量在这里面充当的就是变化量的这个部分,对变化量做相应的操作就能得到我们想要的代码了,剩下的就是第三步,把处理好的变化量更新到操作对象的属性上,达到运动的最终效果。
接下来看看一些基础的运动:匀速、变速、摩擦力、缓动、弹性。这里引入vx、vy,它就是运动里面要用到的变化量。
匀速、变速可以归为一类运动,他们都可以通过简单的加减操作,使vx、vy变化,然后更新x、y坐标上:
dx = targetX - object.x;ax = dx * spring;vx += ax;x += vx;