as3マウスを追跡する

下記の例は、 MovieClip インスタンス ( ball_mc ) がマウスカーソルを追いかけます。

var diffX:Number;
var diffY:Number;

ball_mc.addEventListener (Event.ENTER_FRAME, enterFrameHandler);

function enterFrameHandler (event:Event):void {
    diffX = ball_mc.mouseX;
    diffY = ball_mc.mouseY;
    ball_mc.x += diffX/2;
    ball_mc.y += diffY/2;
}
 

下記の例は、クラス化したものです。

package {
    import flash.display.MovieClip;
    import flash.events.*;

    public class MouseTracer {
        var mc:MovieClip;
        var diffX:Number;
        var diffY:Number;

        public function MouseTracer (mc:MovieClip) {
            this.mc = mc;

            mc.addEventListener (Event.ENTER_FRAME, enterFrameHandler);
        }

        function enterFrameHandler (event:Event):void {
            diffX = mc.mouseX;
            diffY = mc.mouseY;
            mc.x += diffX/2;
            mc.y += diffY/2;
        }
    }
}
 

MovieClip インスタンス ( ball_mc ) をステージ上に配置し、フレームアクションに次のコードを記述します。

var myMouseTracer:MouseTracer = new MouseTracer(ball_mc);