先のベジェ曲線の破線描画に、直線の破線描画を加えて、moveTo、lineTo、curveToで破線を描画するものをまとめてみました。
moveTo、lineTo、curveToといってもGraphicsの拡張ではありませんが…。
サンプルでは、以下のようなスクリプトで破線を描画しています。
//引きのoffsetは破線開始オフセット function draw(offset:Number):void{ //破線描画オブジェクト var g:DashLine = new DashLine( graphics, 6 ); //ShapeData var dat:XML = <shape> <edge x0="334.35" y0="60.15" x1="338.1" y1="63" x2="341.6" y2="66.5" line="0" /> <edge x0="341.6" y0="66.5" x1="345.1" y1="70" x2="348" y2="73.8" line="0" /> ・・・Shapeの座標データ </shape> //描画 graphics.clear(); graphics.lineStyle( 2, 0xffffff, 1, false, "normal", "none" ); var p0:Point = new Point( Number(dat.edge[0].@x0) , Number(dat.edge[0].@y0) ); g.moveTo( p0.x, p0.y, offset ); for each (var edge:XML in dat.edge ){ var p1:Point = new Point( Number(edge.@x1) , Number(edge.@y1) ); var p2:Point = new Point( Number(edge.@x2) , Number(edge.@y2) ); if( edge.@line=="0" ){ g.curveTo( p1.x, p1.y, p2.x, p2.y ); }else{ g.lineTo( p2.x, p2.y ); } } }
一応、Graphicsのノリで破線を描画できるようにしてみました。まだ最適化できそうなところも多分にありますが。