座標から角度を計算するには、「Math.atan2」で一旦ラジアンに変換した後、公式から角度を算出する。
ラジアン=Math.atan2(y座標,x座標);//---------------(注意)y座標とx座標が通常とは逆
角度=ラジアン*180/Math.PI;
ラジアン=角度*Math.PI/180;
ちょっとしたサンプルを作ってみた。
【製作過程】
レイヤー1にダイナミックテキスト「angle_DT」「x_DT」「y_DT」を配置。それにあわせ静止テキスト「角度」「x」「y」も配置。
レイヤー2の弟1フレームに以下のコードを記述。
onEnterFrame=function():Void{
clear();
var xx:Number=this._xmouse;
var yy:Number=this._ymouse;
//座標をラジアンに変換
var radian:Number=Math.atan2(yy,xx);
//ラジアンから角度へ変換
var angle:Number=Math.floor(radian*180/Math.PI);
x_DT.text=xx;
y_DT.text=yy;
angle_DT.text=angle;
//(0,0)とマウスを結ぶ線の描画
this.moveTo(0,0);
this.lineStyle(2,0xFFFFFF);
this.lineTo(xx,yy);
//角度部分描画
this.moveTo(0,0);
this.beginFill(0xFF0000,50);
this.lineStyle(2,0xFFFFFF);
this.lineTo(30,0);
this.lineTo(Math.cos(radian)*30,Math.sin(radian)*30);
this.endFill();
}

コメントする