![]()
![]()
FLASHは"_x"や"_y"など、横方向・縦方向に値を与えることでムービークリップの移動などが可能です。
しかし、これだけでは斜めの方向に動かすことができません。
もちろんFLASHには斜めに動かす方法がありますが、それには角度や三角関数を使うことになります。
角度と長さを指定してやれば、ムービークリップはその位置に斜め移動します。
角度と長さを少しずつ変えてやればムービークリップは円運動します。
3D絵画も角度の基礎知識が必要です。
ここではその"角度"について解説します。
![]()
"角度"とは学校で習った、傾きを0〜360度の数値で表すものです。
90度で直角、180度で水平、360度で元の位置に戻るといった直線のイメージができると思います。
この角度をそのままActionScriptに当てはめて使うことができればいいのですが、FLASHでは"ラジアン"と呼ばれる角度の国際単位に変換して使うことになります。
角度からラジアンに変換する式は下記です。
ラジアン = (角度 / 360度) * 2π
ここでπは円周率(3.14・・・)を表します。
どうした2πかというと、角度とラジアンの対応表があります。
| 角度 | 0 | 30 | 45 | 60 | 90 | 180 | 360 |
| ラジアン | 0 | π/6 | π/4 | π/3 | π/2 | π | 2π |
円一周は360度で、ラジアンでは2πと表すため、2πを角度にかけています。
ここで、FLASHにはπに代わる関数「Math.PI」があります。
これを式にあてはめ簡略化します。
ラジアン = (角度 / 360度) * 2 * Math.PI = (角度 / 180) * Math.PI
よって、マニュアル等で見かける角度からラジアンに変換する式は下記になります。
ラジアン = 角度 * Math.PI / 180;
角度は任意の数値を入れる必要があります。
逆に、ラジアンから角度を求める式は下記のとおりです。
角度 = ラジアン * 180 / Math.PI;
最後にある地点からX方向とY方向に一定距離離れた場所にあるムービークリップの角度を求める場合です。
これにはX座標・Y座標を与えるだけで角度を返す関数があります。
角度 = Math.atan2 ( Y座標 , X座標 ) * 180 / Math.PI;
ここで返される角度は-180〜180といった数値です。
下記FLASHのボールをドラッグすることで座標と角度の関係を見ることができます。








