AS3实例名称奇怪的行为

时间:2012-10-23 12:24:16

标签: actionscript-3 flash class object instance

我在启动时加载了多个动画片段,它们都是各自类定义的实例,添加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]”(不需要),而我创建的每个对象都使用类定义并成功加载。 / p>

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

1 个答案:

答案 0 :(得分:1)

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

你可以试试:

item.mouseChildren = false;

或在跟踪声明中使用e.currentTarget

最好的问候