2014-02-05 132 views
0

使用ActionScript 3.0,我試圖讓幾個MoveClips點擊。我正在使用循環在數組中生成剪輯。使MovieClip可點擊鼠標事件

var mc:MovieClip = new Brett(); 
mc.addEventListener(MouseEvent.CLICK, clickHandler); 
tblBrett[i] = addChild(mc); 

沒有錯誤,但「muj」對象沒有像想要的那樣移動。我不認爲這個功能在運行:

function clickHandler(event:MouseEvent):void { 
muj.x = 500; 
} 

一切正常,除了當我點擊電影剪輯時什麼也沒有發生。

+0

我還沒有看到形成陣列位置面前人人平等的的addChild,這並不是說,它不會做什麼(我不要,「知道我從來沒有嘗試過),但如果你只想要一個引用數組中的mc,你只需tblBrett [i] = mc ;.除此之外,處理程序和偵聽器都看起來正確 – InkeyString

+0

當使用tblBrett [i] = mc時,根本不生成影片剪輯,但它可以與addChild一起使用。雖然不可點擊。 – BTB

回答

0

通過在單獨的循環中添加偵聽器來解決這個問題。

for (i = 0; i < 42; i++) 
{ 
    tblBrett[i].addEventListener(MouseEvent.CLICK, flyttFigur); 
} 

function flyttFigur(event:MouseEvent) 
{ 
    muj.x = event.currentTarget.x; 
    muj.y = event.currentTarget.y; 

}