2011-03-18 19 views
0

我在我有一個層上矩形和下面的代碼在另一層對象:問題的referece反對

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); 

和對象(本).play()或檢查當前幀不工作,也不追蹤定義在功能之外的價值。我應該如何迴應這個事件被調用的動畫片段?

回答

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(); 
    } 
} 

注:每當有可能使用強打字而不是Object鑄造

0

您是否試過MovieClip()而不是Object()?當你期望(潛在被脅迫的)對象像MovieClip那樣工作時,它更合適。

此外,你可能不會在你打算的對象上工作。您需要指定手頭的對象。

嘗試將其更改爲類似這樣:

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

其中myObjectName是包含矩形對象的實例名稱。