Actionscript 3 AS3实例名称异常行为
我在开始时加载了很多movieclips,它们都是各自类定义的实例,添加MOUSE\u-UP-listener来跟踪它们的名称对于不同的类对象表现不同。可能存在哪些问题Actionscript 3 AS3实例名称异常行为,actionscript-3,flash,class,object,instance,Actionscript 3,Flash,Class,Object,Instance,我在开始时加载了很多movieclips,它们都是各自类定义的实例,添加MOUSE\u-UP-listener来跟踪它们的名称对于不同的类对象表现不同。可能存在哪些问题 var ClassDefinition:Class = purchasedItems.item as Class; var item:MovieClip = new ClassDefinition(); item.addEventListener(MouseEvent.MOUSE_UP,function(e:MouseEven
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]”(非必需),而我创建的每个对象都使用类定义,并且它们加载成功
他们都假设以类似的方式输出自己的名称。target将指向被单击的项,即使它是您的类中的项(的子项)。因此,如果您的bluelamp对象包含其他启用鼠标的项目,如MovieClips、Sprites等,则这些项目可能会“劫持”鼠标事件 您可以尝试以下方法:
item.mouseChildren = false;
或者在跟踪语句中使用e.currentTarget
最好的问候是“(必需)”部分是您的添加或闪存输出吗?另一件事e.target将指向在事件中单击的项,因为它是类中的项(子项)。因此,如果您的bluelamp对象包含其他启用鼠标的项目,如MovieClips、Sprites等,则这些项目可能会“劫持”鼠标事件。您可以尝试使用e.currentTarget或使项目的内容不可被项目单击。mouseChildren=false;是将mouseChildren设置为false