ユーザーがオブジェクトをスクロールできるようにマスクされるムービークリップ内にオブジェクトを配置しようとしています
私の現在の解決策は、内部ムービークリップごとにイベントリスターを追加することです...
outer_mc.myObject1.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject2.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject3.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject4.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject5.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject6.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject7.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject8.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject9.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject10.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject11.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
outer_mc.myObject12.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
function swapMovie(e:MouseEvent) {
trace(e.currentTarget.name + " selected");
}
内部ムービークリップの可変リストが存在する可能性があるため、これは不規則(そして醜い:)になる可能性があるため、親オブジェクトのリスナーを追加しようとしています。これが現在の試みです...
outer_mc.addEventListener(MouseEvent.MOUSE_DOWN, swapMovie);
function swapMovie(e:MouseEvent) {
trace(e.currentTarget.name + " selected");
}
ただし、これは「outer_mc」を返すだけであり、currentTargetの代わりにtargetを使用すると、Flashがinstance128、instance23などに割り当てるランダムなインスタンス番号が返されます。
誰かがactionscript3で動作する子オブジェクトのインスタンス名を取得するソリューションを持っていますか?私が調べたところ、最も近いのは、実際のインスタンス名を返さないターゲットソリューションを使用することです。