Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3实例名称异常行为_Actionscript 3_Flash_Class_Object_Instance - Fatal编程技术网

Actionscript 3 AS3实例名称异常行为

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

我在开始时加载了很多movieclips,它们都是各自类定义的实例,添加MOUSE\u-UP-listener来跟踪它们的名称对于不同的类对象表现不同。可能存在哪些问题

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