0

我正在尝试跟踪影片剪辑的位置(其中包含一个简单的时间线动画),以便我可以附加另一个影片剪辑以便能够跟随它。

我怎样才能做到这一点?

空 = 包含时间轴动画的影片剪辑

mc = 我想跟随“空”电影剪辑的电影剪辑

empty.addEventListener(Event.ENTER_FRAME, onMove);

function onMove(event:Event):void {
    var mc:MovieClip = new SmokeTween();
    mc.x = empty.x;
    mc.y = empty.y;
    mc.rotation = Math.round(Math.random() * 70);
    this.addChild(mc);
}

实际上我进入了“空” mc 并使用了这段代码,似乎工作正常:

this.addEventListener ( Event.ENTER_FRAME, traceFrame );

function traceFrame ( e : Event ) : void
{
    if (e.target.currentFrame > 0){
        MovieClip(parent.parent).mc.x = e.target.x;
    }
}
4

2 回答 2

1

我想这empty没有动画,所以你需要使用根的ENTER_FRAME事件而不是empty's:

addEventListener(Event.ENTER_FRAME, onMove); // no "empty."
function onMove(event:Event):void {
    var mc:MovieClip = new SmokeTween();
    mc.x = empty.x;
    mc.y = empty.y;
    mc.rotation = Math.round(Math.random() * 70);
    this.addChild(mc);
}

随着您的项目变得越来越大,您还会发现回收对象变得很重要(尤其是在 Flash 中)。保留一系列 SmokeTweens 并不断回收它们,而不是创建新的并让它们自行删除。

于 2013-08-09T19:58:58.583 回答
0

实际上我进入了“空” mc 并使用了这段代码,似乎工作正常:

this.addEventListener ( Event.ENTER_FRAME, traceFrame );

function traceFrame ( e : Event ) : void
{
    if (e.target.currentFrame > 0){
        mc.x = e.target.x;
    }
}
于 2013-08-10T08:29:40.640 回答