と、思い出した。
前に某案件で使用したスプラインカーブと、ドットラインを組み合わせれば、一定間隔で座標が取れる。
[SWF]http://knap.jp/blog/swf/spline3.swf, 720, 300[/SWF]
Main.as
package { import flash.display.Sprite; import flash.events.Event; import flash.geom.Point; import caurina.transitions.Tweener; import snapfit.lib.tweener.SplineModifiers; SplineModifiers.init(); public class Main extends Sprite { // プロパティ private var canvas:Sprite; public function Main() { init(); var point:Array = [{x:60,y:100}, {x:500,y:200}]; motion(); function motion(){ moveObj.x = 30; moveObj.y = 150; Tweener.addTween( moveObj, {x:700, y:80, _spline:point, time:3, transition: "linear", onComplete:motion}); } } // メソッド private function init():void { canvas = new Sprite(); addChild(canvas); draw(); } private function draw():void { var points:Array = [new Point(30, 150), new Point(60, 100), new Point(500, 200), new Point(700, 80)]; var g:DashLine = new DashLine(canvas.graphics, 10); canvas.graphics.lineStyle( 1, 0x000000, 1, false, "none", "none" ); var curve:Array = Curve.spline(points, 40); g.moveTo(curve[0].x, curve[0].y, 1); for (var n:uint = 1; n < curve.length; n++) { var ptn:Point = g.lineTo(curve[n].x, curve[n].y); trace(ptn.x, ptn.y) } } } }
いくつかパッケージをインポートしているので、
そのあたりはまた完成後にまとめよう。
http://nutsu.com/blog/2007/100302_as_dashline.html