F-siteセミナー
MovieClipのターゲットパスとプロパティ
Date: 2003年8月24日 |
Product: Flash |
Platform: All
Viersion: MX and Above
1. プロパティの天動説と地動説
MovieClip._x: 配置されたタイムライン上の座標…地動説プロパティ
MovieClip.
_xmouse: インスタンスから見たマウス座標…天動説プロパティ
図■'MovieClip._xmouse'に'MovieClip._x'プロパティの値を加えれば、配置されたタイムラインから見た座標になる
スクリプト1■マウスポインタを追いかけるMovieClip
// MovieClip: マウスに追随させるインスタンス
// MovieClipアクション
onClipEvent (enterFrame) {
_x += _xmouse;
_y += _ymouse;
} |
【時間の関係で割愛したネタ】●指定位置にスクロールするMovieClip サンプルSWF/FLAファイル(Zip圧縮/約6KB)
2. マウスの方向に回転
自分(地球)が動くと、太陽が回って見える。動かない外部空間から、座標を捉えよう。
図■MovieClipを回すと、座標軸も回転する。ポインタが動かなくても、マウス座標は変化してしまう。
Math.atan2(y座標,
x座標)
座標から角度を計算するメソッド。xy座標を逆転して指定するので注意。返される角度はラジアンなので、度数に変換する必要がある。定数πの値は、'Math.PI'。
度数 = ラジアン/π*180
|
図■'_parent'をターゲットパスとした'_xmouse'から'_x'の値を差引いて、インスタンスから見た座標を計算する。
スクリプト2■マウスポインタに向かって回転するMovieClip
// MovieClip: マウスの方向に回転させるインスタンス
// MovieClipアクション
onClipEvent (enterFrame) {
_rotation = Math.atan2(_parent._ymouse-_y, _parent._xmouse-_x)/Math.PI*180;
}
|
3. 減速しながらアニメーション
スクリプト1を、マウスにぴったりついていくのではなく、減速しながら追いかける動作に変えてみる。
スクリプト3■少し遅れてマウスポインタを追いかけるMovieClip
// MovieClip: マウスを追いかけるインスタンス
// MovieClipアクション
onClipEvent (enterFrame) {
_x += _xmouse*0.5;
_y += _ymouse*0.5;
} |
スクリプト2も、ほぼ同じ考え方で減速しながら回転させることができる。
スクリプト4■少し遅れてマウスポインタの方向に回転するMovieClip
// MovieClip: マウスのを追いかけて回転させるインスタンス
// MovieClipアクション
onClipEvent (enterFrame) {
_rotation += Math.atan2(_ymouse, _xmouse)/Math.PI*180*0.5;
} |
サンプル●回転するメニュー サンプルSWF/FLAファイル(Zip圧縮/約5KB)
【参考】「MACPOWER」2003年10月号「ActionScriptステップアップ講座」第2回「MovieClipのターゲットパスとプロパティ」
_____
作成者: 野中文雄
作成日: 2003年8月31日
Copyright ©
2001-2006 Fumio Nonaka. All rights reserved.
|