サイトトップ

Director Flash 書籍 業務内容 プロフィール

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.