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

Point.interpolate() は点pt1 と点pt2 の間にある点を見つける。この関数は pt1 kara
pt2 の間に点を打ちたい場合や点を移動させたい場合に利用する。 Point.interpolate(pt1, pt2, f)のように3つの引数をとり、f の値(1~0)により、pt1~pt2 間の位置を指定する。f が 1 のときは、pt1 の位置となり、0 に近いほどpt2 に近づく。
以下の例は pt1 から pt2 に向けて 10個のスプライトを生成する。pt1 と pt2 の間の点の位置を Point.interpolate() で計算している。


<?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 pt1:Point = new Point(50, 50);
var pt2:Point = new Point(450, 200);
var pt3:Point;
var f:Number;
for (var i:int=0; i<=10; i++) {
f = (10-i) / 10;
pt3 = Point.interpolate(pt1, pt2, f);
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFFFFF);
circle.graphics.drawCircle(pt3.x, pt3.y, 10);
container.addChild(circle);
}
}
]]>
</mx:Script>
</mx:Application>

索引