Чего-то я никак не соображу:

Код AS3:
public function play(time:int, toPoint:Point, lockCenter:Boolean = false,
easing:Function = null):void
{
if (!_target) return;
_startTime = getTimer();
_currentTime = 0;
_frameCount = time / _fps;
_changePoint.x = _target.width + toPoint.x - _target.x;
_changePoint.y = 0;
_movePoint.x = _target.width * 0.5;
_movePoint.y = _target.height * 0.5;
_movePoint.z = 0;
_stepPoint.x = _changePoint.x / _frameCount;
_stepPoint.y = _changePoint.y / _frameCount;
_stepPoint.z = 180 / _frameCount;
_started = true;
_matrix3D = _target.transform.matrix3D.clone();
}
.....
private function enterFrameHandler(event:Event):void
{
if (_started && _frameCount > 0)
{
_frameCount--;
_currentPoint = _matrix3D.position.add(_stepPoint);
_movePoint = _movePoint.add(_stepPoint);
_target.transform.matrix3D.appendTranslation(_currentPoint.x, _currentPoint.y, 0);
_target.transform.matrix3D.prependRotation(_currentPoint.z, Vector3D.Y_AXIS);
}
else if (_frameCount <= 0)
{
_started = false;
}
}
Так она крутится почти так, как нужно, единственное, мне нужно чтобы грань ближняя к нам при повороте проходила своим нижним краем под линией горизонта. Но я чего-то никак ума не приложу, как этого добиться. Может, кому не сложно?
