我可能会问错误的问题,但我正在尝试将evenListeners添加到由我的一个类中的方法创建的movieClip中。
从主时间轴创建我的类的实例,然后将该实例添加到舞台。:
//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创建的movieClip中?
如果您需要更多信息或者目前尚不清楚,请告诉我。
答案 0 :(得分:1)
我建议这样做,因为它从未让我失望过:
for each(var mc:MovieClip in scrollClip)
mc.addEventListener("myEvent", onMyEventHandler);
如果您在scrollClip中有其他影片剪辑,并且您不想向其添加侦听器,那么只能为添加的子项添加名称,然后迭代它们并添加听众,就像我的示例一样。
答案 1 :(得分: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
自己的事件再次发送。
答案 2 :(得分: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);