Цитата:
|
Объект двигается по Х и окружности одновременно.
|
По вашей схеме объект не движется по Х и Y одновременно, он сначала продвигается по X, потом останавливается, совершает полный оборот, затем немного продвигается и снова останавливается для совершения полного оборота.
На самом деле ваша схема движения - обычная циклоида.

Уравнения для X и Y находятся
тут
То есть

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.getTimer;
/**
* ...
* @author KumoKairo
*/
public class Trajectory extends Sprite
{
private var _elementDummy:Sprite;
private var _previousTime:Number;
private var _velocity:Number;
private var _radius:Number;
private var _cycles:uint;
public function Trajectory()
{
_elementDummy = new Sprite();
_elementDummy.graphics.beginFill(0xFF0000);
_elementDummy.graphics.drawCircle(0, 0, 15);
addChild(_elementDummy);
_previousTime = getTimer();
_velocity = 0.02;
_radius = 15;
_cycles = 0;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(e:Event):void
{
var passedTime:Number = getTimer() - _previousTime - _cycles * 3000;
_elementDummy.x = _radius * _velocity * passedTime - _radius * Math.sin(_velocity * passedTime);
_elementDummy.y = _radius - _radius * Math.cos(_velocity * passedTime);
if (_elementDummy.x > 800)
{
_cycles++;
}
}
}
}