您可以使用基本的缓动来保持平稳:
private var degrees:Number = 2; // increase rotation by 2
private var easing:Number = .5; // easing value
private var finalDegree:Number = 90; // Degree the rotation will iterate to
...
public function wheelSpinning() : void
{
addEventListener(Event.ENTER_FRAME, startSpin);
}
public function startSpin(evt:Event):void
{
var c:Number = mc.rotation + degrees * easing;
if (c >= finalDegree)
{
/* Prevent the rotation from being greater than the
finalDegree value and remove the event listener */
mc.rotation = finalDegree;
removeEventListener(Event.ENTER_FRAME, startSpin);
}
else
{
/* Apply the easing to the rotation */
mc.rotation = c;
}
}
使用这些价值观并找出适合您需求的价值观。如果您正在学习 AS3,我建议您避免使用库来制作动画并自己编写所有内容。尽管库的底层内容比我在这里介绍的要复杂得多,但您将对正在发生的事情有一个基本的了解。
否则,最好使用一个封装了所有这些有趣数学的库,而只需担心您的应用程序/游戏的逻辑。你可以在那里找到很多库,比如GTween或Greensock。
希望能帮助到你。