我刚刚注意到Flash Professional轮换补间中的一个漏洞似乎是个缺陷。具有旋转补间的影片剪辑不会在帧与帧之间一致地旋转。当旋转缓慢时,它似乎每隔4或5帧显着旋转,然后在接下来的3或4帧中根本不旋转或非常微小地旋转。除非旋转非常慢,否则这是不明显的。人们可能会认为这不值得担心,但在尝试做一些微妙的动画效果时会出现问题,例如卡通人物的轻微头部动作 - 它看起来很紧张。
我拍了一部flash电影来演示这个问题 - 它是 here 。可以采取任何措施来缓解这个问题吗?
答案 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;
}