彩音 - Adobe AIR - 研究室:XION -Adobe AIR-laboratory
ベクトルの向きと大きさ polar()

以下の例は Point.polar() と offset() を使い放射状に線を描くものである。
Point.polar(len, angle) は、点までの長さlenと角度 angle を指定し、点の x, y を求める関数である。角度 angle は x軸から時計回り角度(ラジアン)で測る。
offset() は点の座標の基準点を移動させるメソッドである。Point.polar() で得られる点の座標は原点 (0, 0) を基準として座標であるため、 offset() を使い放射状に線を延ばす中心点 center の位置に基準点を移動させる。


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="600" height="256" initialize="init()">
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
private var container:UIComponent = new UIComponent();
private function init():void {
addChild(container);

var pt:Point;
var center:Point = new Point (application.width/2, application.height/2);
var len:uint;
var radian:Number = 4*Math.PI/180;
var angle:Number = 0;
var lineSize:uint = 3;
var lineColor:uint;
while (angle <= 2 * Math.PI) {
lineColor = Math.random()*0xffffff;
len = Math.round(Math.random()*195);
angle += radian;
pt = Point.polar(len, angle);
pt.offset(center.x, center.y);
container.graphics.lineStyle(lineSize, lineColor);
container.graphics.moveTo(center.x, center.y);
container.graphics.lineTo(pt.x, pt.y);
}
}
]]>
</mx:Script>
</mx:Application>

索引