as3.0中如何画两点间的虚线

最好是函数形式,直接输入两点坐标就可以画出的。求高手写出这个函数!!!!!!!!... 最好是函数形式,直接输入两点坐标就可以画出的。
求高手写出这个函数!!!!!!!!
展开
 我来答
匿名用户
2013-01-24
展开全部
import flash.geom.Point;
/** * 画虚线
*
* @param graphics <b> Graphics</b>
* @param beginPoint <b> Point </b> 起始点坐标
* @param endPoint <b> Point </b> 终点坐标
* @param width <b> Number </b> 虚线的长度
* @param grap <b> Number </b> 虚线短线之间的间隔
*/
function drawDashed(graphics:Graphics, beginPoint:Point, endPoint:Point, width:Number, grap:Number):void
{
if (!graphics || !beginPoint || !endPoint || width <= 0 || grap <= 0) return;

var Ox:Number = beginPoint.x;
var Oy:Number = beginPoint.y;

var radian:Number = Math.atan2(endPoint.y - Oy, endPoint.x - Ox);
var totalLen:Number = Point.distance(beginPoint, endPoint);
var currLen:Number = 0;
var x:Number, y:Number;

while (currLen <= totalLen)
{
x = Ox + Math.cos(radian) * currLen;
y = Oy +Math.sin(radian) * currLen;
graphics.moveTo(x, y);

currLen += width;
if (currLen > totalLen) currLen = totalLen;

x = Ox + Math.cos(radian) * currLen;
y = Oy +Math.sin(radian) * currLen;
graphics.lineTo(x, y);

currLen += grap;
}

}

this.graphics.lineStyle(1,0xFF0000)
drawDashed(this.graphics, new Point(10,10), new Point(200,200), 15, 20)
Keensb
2013-01-19 · TA获得超过787个赞
知道小有建树答主
回答量:952
采纳率:0%
帮助的人:730万
展开全部
你可以使用画直线的API,把直线切成线段,一段一段地画。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weber2114
2013-01-19 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:92.1万
展开全部
as3没有提供这样的API,自己写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
web民工
2013-01-21 · TA获得超过469个赞
知道小有建树答主
回答量:959
采纳率:0%
帮助的人:407万
展开全部
这个需要自己写啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式