2012-09-14 83 views
1

我有一個背景影片剪輯,其上有對象(它是遊戲)。現在,我想在沒有擊中頂部的物體時,在電影剪輯中拍攝一些洞。我在背景mc和子mcs上擺弄mouseEnabled,但沒有取得任何成功。區分這兩個事件(背景命中與飛行物擊中)的最佳方式是什麼?如何在AS3中正確設置Mouseenabled

+1

'event.target'會告訴你該事件 – BadFeelingAboutThis

回答

1

如果您正在監聽背景和飛行物的共同父項上的鼠標事件,則可以使用event.target屬性查看分派事件的項目。

將顯示對象的mouseEnabled屬性設置爲false,防止它分派鼠標事件,但是,它不保留它的孩子不這樣做。 mouseChildren = false將完成。

因此,如果在您的飛行事物和背景上,您將它們的mouseChildren屬性設置爲false,當您單擊它們時,目標屬性將始終爲對象本身。 (否則目標可能是一個它的孩子)。

讓你的事件處理程序看起來是這樣的:

function(e:Event):void { 
    if(e.target == myBackgroundInstance){ 
     //do something with the background 
    } 

    if(e.target is myCommonFlyingThingClass){ 
     var flyingThing:myCommonFlyingThingClass = e.target as myCommonFlyingThingClass; 
     //do something with the flying thing 
    } 
} 
+0

的鼻祖我剛纔添加的getQualifiedClassName(),但是這導致我在正確的方向。非常感謝! – Jan