ActionScript 2遵循路径

时间:2014-10-01 18:02:33

标签: actionscript-2 motion pathing

我在查找使用动作脚本2沿更复杂的路径移动对象的信息时遇到了问题。如果我需要在x或y方向或同时进行补间,我没有问题,但如果我想要一个物体跟随弯曲的路径,有人可以提供示例代码以便遵循运动指南或弯曲的方式路径像bezier?

这是我常用的代码:

Tween1();
function Tween1(){
    setTimeout(theTween, 0);
    function theTween(){
        var myTween:Tween = new Tween(Object, "_x", Regular.easeOut, 0, 100, 1, true);
        var myTween:Tween = new Tween(Object, "_y", Regular.easeOut, 0, 100, 1, true);
}

1 个答案:

答案 0 :(得分:0)

试试这个Animate along bezier curve

var circle:Shape = Shape(addChild(new Shape));
with(circle.graphics) beginFill(0x000000), drawCircle(0,0,5);

var bezierPoint:Point = new Point();
function bezier(a:Number, x1:Number, y1:Number, x2:Number, y2:Number, x3:Number, y3:Number):void {
        var b:Number =1-a;
        var pre1:Number=a*a;
        var pre2:Number=2*a*b;
        var pre3:Number=b*b;
        bezierPoint.x = pre1*x1 + pre2*x2  + pre3*x3;
        bezierPoint.y = pre1*y1 + pre2*y2 + pre3*y3;
}

var inc:Number = 0;
var theta:Number = 0;

addEventListener(Event.ENTER_FRAME, onLoop);
function onLoop(evt:Event):void {

     graphics.clear();
     graphics.lineStyle(0,0xFF0000);
     graphics.moveTo(200,200);
     graphics.curveTo(mouseX, mouseY, 400, 200);

    inc += .03;
    inc %= 1;

    bezier(inc, 200, 200, mouseX, mouseY, 400, 200);
    circle.x = bezierPoint.x;
    circle.y = bezierPoint.y;
}
相关问题