Я безуспешно пытаюсь повернуть прямоугольник вокруг внешней точки во время твинирования. Я пытаюсь зафиксировать верхнюю часть красного прямоугольника на линии, пока он изменяет слева направо и поворачивается от 0º до 90º.ActionScript 3 - Tweening rotateAroundExternalPoint
alt text http://www.freeimagehosting.net/uploads/0b937c92e6.png
изображение выше показывает 3 состояния анимации движения. состояние 1 показывает красный прямоугольник в начале строки без угла. состояние 2 показывает, что красный прямоугольник движется наполовину вдоль линии с углом 45º, что также составляет половину общего угла 90º. состояние 3 показывает конечное положение твина, где красный прямоугольник имеет угол 90º и расположен на краю линии.
Кажется, проблема, с которой я столкнулся, заключается в том, что во время твинирования вращение приводит к тому, что верхняя часть красного прямоугольника теряет синхронизацию с черной линией.
вот мой код, который не работает, но, надеюсь, даст вам более четкое представление о том, что я пытаюсь.
var angle:Number = 90;
var previousAngle:Number = 0;
var distanceObject:Object = new Object();
distanceObject.distance = line.width;
distanceTween = new Tween(distanceObject, "distance", None.easeNone, 0, distanceObject.distance, 5, true);
distanceTween.addEventListener(TweenEvent.MOTION_CHANGE, tweenHandler);
function tweenHandler(evt:TweenEvent):void
{
var angleShift:Number = (angle/distance) * distanceObject.distance;
//1:tween RedBox position
redBox.x = line.x + line.width * distanceObject.distance;
//2:tween RedBox angle
var externalPointMatrix:Matrix = redBox.transform.matrix;
MatrixTransformer.rotateAroundExternalPoint(externalPointMatrix, 0 + redBox.width * distanceObject.distance, 0, angleShift - previousAngle);
redBox.transform.matrix = externalPointMatrix;
previousAngle = angleShift;
}
Ссылка на изображение, кажется, сломана – Theo
работает для меня. однако требуется некоторое время для загрузки. это всего лишь 25 кб, поэтому сервер очень занят: http://www.freeimagehosting.net/uploads/0b937c92e6.png – TheDarkIn1978
справедливо предположить, что то, что я пытаюсь сделать, невозможно? – TheDarkIn1978