0

我有一些我在开始时加载的电影剪辑,它们都是它们各自类定义的实例,添加 MOUSE_UP 侦听器来跟踪它们的名称对于不同的类对象表现不同。可能有哪些问题?

var ClassDefinition:Class = purchasedItems.item as Class;
var item:MovieClip = new ClassDefinition();

item.addEventListener(MouseEvent.MOUSE_UP,function(e:MouseEvent){trace(e.target.toString());});

它输出 MovieClip 的名称,如“[object bluelamp]”(必需),但其他一些为“[object MovieClip]”(不需要),而我创建的每个对象都使用类定义并且它们成功加载。

他们都假设以类似的方式输出他们的名字

4

1 回答 1

1

e.target 将指向被单击的项目,即使它是您的类中的项目(子级)。因此,如果您的 bluelamp 对象包含其他启用鼠标的项目,例如 MovieClips、Sprites 等,这些项目可能会“劫持”鼠标事件。

你可以尝试:

item.mouseChildren = false;

e.currentTarget在您的跟踪语句中使用

最好的祝福

于 2012-10-23T12:48:17.380 回答