我有一个movieclip,我们称之为“myMC”,这是非常长的(5,000帧),在此过程中,许多嵌套的动画片段被添加/删除为“myMC”的子项。
没有引用嵌套剪辑,有没有办法可以向myMC添加一个监听器,并在添加/删除对象时监听(事件沿着Event.ADDED) ?
答案 0 :(得分:4)
Event.ADDED
和Event.REMOVED
会帮助您。
Thise事件是bubbling,所以没有必要听立即父母。您可以在任何显示祖先中捕获这些事件,如下面的示例所示。
import flash.events.Event;
import flash.display.Sprite;
var onAdded:Function = function (event:Event) : void
{
// event.target references the display object being added
trace(event.type +": '" + event.target.name+"'");
}
var onRemoved:Function = function (event:Event) : void
{
// event.target references the display object being removed
trace(event.type+": '" + event.target.name+"'");
}
addEventListener(Event.ADDED, onAdded);
addEventListener(Event.REMOVED, onRemoved);
var container:Sprite = new Sprite();
container.name = 'Container here'
addChild(container);
var test:Sprite = new Sprite();
test.name = "I am the one!";
container.addChild(test);
container.removeChild(test);
/*
added: 'Container here'
added: 'I am the one!'
removed: 'I am the one!'
*/
答案 1 :(得分:-1)
是的,你可以。只需将Event.ADDED
的事件监听器添加到您的父MovieClip
即可。添加子项后,ADDED
事件将冒泡并调用您的处理程序。您可以从处理程序中读取event.target
属性以检索特定的子实例。