跨帧的Flash旋转不一致

时间:2015-03-20 23:45:18

标签: flash animation rotation tween

我刚刚注意到Flash Professional轮换补间中的一个漏洞似乎是个缺陷。具有旋转补间的影片剪辑不会在帧与帧之间一致地旋转。当旋转缓慢时,它似乎每隔4或5帧显着旋转,然后在接下来的3或4帧中根本不旋转或非常微小地旋转。除非旋转非常慢,否则这是不明显的。人们可能会认为这不值得担心,但在尝试做一些微妙的动画效果时会出现问题,例如卡通人物的轻微头部动作 - 它看起来很紧张。

我拍了一部flash电影来演示这个问题 - 它是 here 。可以采取任何措施来缓解这个问题吗?

1 个答案:

答案 0 :(得分:0)

它使事情变得复杂,但如果您使用对象的变换矩阵来旋转它,动画会更加平滑。我只能猜测,当您手动操作时会绕过常规动画进行某种优化。

private var box:Sprite = new Sprite();
private var boxAngle:Number = 0; // In radians
private var boxPosition:Point = new Point(); 
private var boxMatrix:Matrix = new Matrix();

private function updateBox():void {
    boxMatrix.identity();
    boxMatrix.rotate(boxAngle);
    boxMatrix.translate(boxPosition.x, boxPosition.y);
    box.transform.matrix = boxMatrix;
}