如何訪問觸發eventListener事件的對象?如何恢復在AS3中觸發eventListener事件的對象?
比方說,我有一個MC:
var element = new MovieClip();
其中有一個事件偵聽:
element.addEventListener(MouseEvent.CLICK, elementEventHandler);
,然後在事件處理程序,我要的東西添加到我的MC:
function elementEventHandler(event:MouseEvent):void
{
var b1:balloon = new balloon("ballon1"); //this is another class.
event.target.addChild(b1);//this doesn't work.
}
所以這就是我想要實現的......恢復觸發事件的對象,然後用它做出瘋狂的事情(在這個例如,在其中添加另一個對象)。
如果有人有任何想法,請提前致謝!
pd:是的,我知道我可以直接在這段代碼中使用var元素,但是在真正的代碼中,我根據一個xml文件生成了一個循環中的mcs。
嘿,謝謝你的回覆。我得到了一個運行時錯誤:Loader類沒有實現這個方法,在flash.display :: Loader/addChild()看來,addchild不能用於DisplayObjectContainer,對嗎? – 2012-03-19 21:13:39
是的,我在AS3中很新。我檢查了引用,現在我明白DisplayObjectContainer是所有可視容器類的基類。所以我不知道爲什麼我得到這個錯誤,因爲addchild()是一個DisplayObjectContainer方法。 – 2012-03-19 21:40:59
我想通了!我使用「event.currentTarget作爲DisplayObjectContainer」而不是「event.target作爲DisplayObjectContainer」。現在我試圖瞭解其中的差異。非常感謝! – 2012-03-19 21:52:03