読者です 読者をやめる 読者になる 読者になる

Flash制作講座フラッシュ制作講習

FLASH制作からActionScriptによるFlashコンテンツ制作のためのフラッシュ制作講座

MouseEventフォーカスMC名取得-Flash/AS3.0

ループ処理などで配置したMCやリンケージにMouseEventを取得する場合、同じようにイベントリスナーを繰り返し処理で記述するだけです。



ただイベントリスナーを受け取ったMC毎の処理関数も、それぞれの処理を用意する場合があります。



それには、MouseEventフォーカスの対象MCを判別する必要があり、MouseEventオブジェクトのevent.targetとevent.currentTargetが便利です。




【記述例:マウスイベント対象となるMCを指定、名前を取得する】

parent_MC.name = "親MC";
parent_MC.child_MC.name = "子MC";

parent_MC.addEventListener(MouseEvent.MOUSE_OVER,mOver);

function mOver(eventObject:MouseEvent):void {
trace("target="+eventObject.target.name);
trace("currentTarget="+eventObject.currentTarget.name);
}



上のような例では、child_MCにマウスオーバーした場合、targetは"子MC"になりますが、currentTargetは"親MC"がトレースされます。




なのでparent_MCでのマウスイベント処理を指定したい場合は、eventObject.currentTargetを指定することで、意図するイベントを発生させることが可能なようです。