マウスに合わせたオブジェクトの移動

ムービークリップオブジェクトのマウスの相対座標を取得するプロパティを利用してマウスに合わせたオブジェクトの移動ができます。

マウスの相対座標 _xmouse, _ymouse

ムービークリップオブジェクトからマウスポインタへの相対x座標は_xmouse、相対y座標は_ymouseで取得できます。これを利用して、 マウスの動きに合わせてオブジェクトを操作したりすることができます。

マウスポインタと同じ位置に動かす(オリジナルマウスポインタ)

マウスポインタに合わせたいムービークリップに以下のムービークリップアクションをつけます。

onClipEvent(enterFrame) {
    _x+=_xmouse;
    _y+=_ymouse;
}

毎イベントごとに_xの値にマウスポインタへの相対x座標を増やすことでマウスポインタの位置に移動します。 同様にy座標も変更します。x,yのどちらかのみの指定を行うと、横方向,縦方向のみの一致します。 この方法以外にもstartDrag()メソッドを使って作ることもできます。

さらに、マウスポインタを非表示にするとマウスポインタっぽく見えるようになります。

onClipEvent(load) {
    Mouse.hide();
}

起動時に、マウスオブジェクトMouseのメソッドhide()でマウスポインタを非表示にします。

マウスポインタに追従する

マウスポインタに合わせたいムービークリップに以下のムービークリップアクションをつけます。

onClipEvent(enterFrame) {
    _x+=_xmouse*0.2;
    _y+=_ymouse*0.2;
}

マウスポインタの方向に向く

マウスポインタに合わせたいムービークリップに以下のムービークリップアクションをつけます。

onClipEvent(enterFrame) {
    xCal=_parent._xmouse-_x;
    yCal=_parent._ymouse-_y;    
    _rotation=Math.atan2(yCal, xCal)*180/Math.PI;
}

さらにマウスポインタの方向に進む時には、以下のムービークリップアクションをつけます。

onClipEvent(enterFrame) {
    xCal=_parent._xmouse-_x;
    yCal=_parent._ymouse-_y;    
    _rotation=Math.atan2(yCal, xCal)*180/Math.PI;
    _x+=xCal*0.2;
    _y+=yCal*0.2;
}

マウスとの距離の0.2倍の距離を進むプログラムになっているので、マウスの動きに 少し遅れてついていきます。