2012-02-29 147 views
0

我可能會問錯了問題,但我想evenListeners添加到由一個方法在我的職業之一創建的影片剪輯創建影片剪輯。添加事件監聽到的一類

從主時間軸創建我的類的實例,然後添加該實例到舞臺:

//MY CLASS 
var createSlide:AddItems = new AddItems(); 
var scrollClip:Sprite = new Sprite(); 
addChild(scrollClip); 

//ADDIMAGES CREATES 4 MOVIECLIPS 
createSlide.addImages(BG,image1,image2,image3,image4); 

//ADD TO STAGE 
scrollClip.addChild(createSlide); 

讓我怎麼事件偵聽器添加到由createSlide創建的影片剪輯?

如果您需要了解更多信息或這是不明確只是讓我知道。

回答

0

很難不知道這是怎麼回事裏面AddItems說。

想必AddItems延伸Sprite,並增加了新創建的對象本身。在這種情況下,你應該能夠使用getChildAt()訪問它們。

var child1:DisplayObject = createSlide.getChildAt(0); 
var child2:DisplayObject = createSlide.getChildAt(1); 
var child3:DisplayObject = createSlide.getChildAt(2); 
var child4:DisplayObject = createSlide.getChildAt(3); 

child1.addEventListener(...); 
... 

您還可以將它們公開爲AddItems類的公共屬性。

最後,您可以收聽AddItems課程本身內的活動,然後再以AddItems自己的活動形式發送活動。

1

我建議你做這樣的,因爲它從來沒有讓我失望:

for each(var mc:MovieClip in scrollClip) 
    mc.addEventListener("myEvent", onMyEventHandler); 

如果你有在scrollClip其它影片剪輯和你不想偵聽器添加到他們唯一的辦法是將姓名添加到您的加入孩子,然後遍歷它們,並在我的例子中添加監聽器等。

0

不知道這是否是你問什麼,試試這個:

var totalChild = createSlide.numChildren-1; 

for(var i:int=0;i<totalChild;i++){ 
    var childd = createSlide.getChildAt(i); 
    childd.addEventListener("event type","func handler"); 
} 
.... 
//ADD TO STAGE 
scrollClip.addChild(createSlide);