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());});

この「[object bluelamp]」(必須) のような MovieClip の名前を出力しますが、「[object MovieClip]」(必須ではありません) などの名前を出力しますが、作成するすべてのオブジェクトはクラス定義を使用しており、正常にロードされます。

それらはすべて、同様の方法で自分の名前を出力することを想定しています

4

1 に答える 1

1

e.target は、クラス内のアイテム (の子) であっても、クリックされたアイテムを指します。そのため、bluelamp オブジェクトに、MovieClips、Sprites などの他のマウス対応アイテムが含まれている場合、それらはマウス イベントを「乗っ取る」ことができます。

あなたが試すことができます:

item.mouseChildren = false;

またはe.currentTargetトレースステートメントで使用します

よろしくお願いします

于 2012-10-23T12:48:17.380 に答える