MovieClipの角度は_rotationで設定。座標から角度を計算します。
Math.atan2()は、座標を指定すると角度をラジアンで返す[*1]ので、次のMovieClipアクションでよさげですが、また点滅したような動作に・・。
onClipEvent (enterFrame) {
_rotation = Math.atan2(_ymouse, _xmouse)/Math.PI*180;
}
--------------------
[*1] Math.atan2(y座標, x座標)と、xy座標を逆転して指定するので要注意。返される角度はラジアンなので、度数に変換する必要あり。πの値は、「Math.PI」で調べられる。
(度数 = ラジアン/π*180
)
--------------------
---------------------------------------------
_xmouse、_ymouseを使っていますが、これは天動説。自ら回ってしまい、座標軸も回転します。
---------------------------------------------
そこで、_rootの_xmouseの座標が必要。
(ステージ上のマウスの位置)
ActionScriptはMovieClipアクションに書くので、ターゲットパスは、一つ階層を上がって _parent._xmouse
(ステージ上のマウスのx座標)−(ステージ上のMovieClipのx座標)で、MovieClipは回らず、MovieClipから見たステージ上のマウスのx座標がわかります。
記述場所:マウス方向に回転させるインスタンスのMovieClipアクション
onClipEvent (enterFrame) {
_rotation = Math.atan2(_parent._ymouse-_y, _parent._xmouse-_x)/Math.PI*180;
}
これで、マウスの方向にMovieClipが回転するスクリプトの完成!
* 角度0度の右方向が、マウスに向かって回転。インスタンスは、右向きに配置しよう。
|