参考对象的问题

时间:2011-03-18 14:31:09

标签: flash actionscript actionscript-2

我有一个对象,其中我在一个图层上有矩形,在另一个图层上跟随代码:

import flash.events.Event;
this.myMouseMove = function( e:Event ) {
    if(Object(this).currentFrame == 1) {
        Object(this).play();
    }
}
this.overlay.addEventListener(MouseEvent.MOUSE_MOVE,this.myMouseMove);

And Object(this).play()或检查当前帧不起作用,也不跟踪函数外部的值定义。我该如何处理从中调用事件的movieclip?

2 个答案:

答案 0 :(得分:1)

使用活动的currentTarget属性:

myMouseMove = function( e:Event ):void {
    // here i suppose that your overlay object is a MovieClip
    var mc:MovieClip=MovieClip(e.currentTarget)
    if(mc.currentFrame == 1) {
        mc.play();
    }
}

N.B。只要有可能使用强类型而不是Object施放

答案 1 :(得分:0)

您是否尝试过MovieClip()代替Object()?当您期望(可能强制的)对象充当MovieClip时,它更合适。

此外,您可能无法处理您想要的对象。您需要指定手头的对象。

尝试将其更改为以下内容:

import flash.events.Event;
myObjectName.myMouseMove = function(e:Event):void {
    if(myObjectName.currentFrame == 1)
        myObjectName.play();
};

其中myObjectName是包含矩形的对象的实例名称。