我正在尝试追踪动画片段的位置(其中包含一个简单的时间轴动画),以便我可以附加另一个动画片段以便能够跟随它。
我该怎么做?
empty =包含时间轴动画的动画片段
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;
}
}
答案 0 :(得分:1)
我认为empty
没有动画,所以你需要使用root的ENTER_FRAME
事件代替empty
:
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并继续回收它们,而不是创建新的并让它们自行删除。
答案 1 :(得分:0)
实际上我进入了“空”mc并且使用了这段代码,似乎工作正常:
this.addEventListener ( Event.ENTER_FRAME, traceFrame );
function traceFrame ( e : Event ) : void
{
if (e.target.currentFrame > 0){
mc.x = e.target.x;
}
}