Flex4如何设虚线。
答案:2 悬赏:0 手机版
解决时间 2021-11-08 20:22
- 提问者网友:沦陷
- 2021-11-07 20:44
Flex4如何设虚线。
最佳答案
- 五星知识达人网友:白昼之月
- 2021-11-07 20:57
Flex4可以使用下面的操作来实现
public function drawBrokenLine(g:Graphics,fromX:Number,fromY:Number,toX:Number,toY:Number,solidLen:Number=5,brokenLen:Number=0)
{
//如果间隔为0,直接画实线
if(brokenLen == 0 || solidLen == 0)
{
g.moveTo(fromX,fromY);
g.lineTo(toX,toY);
return;
}
//如果间隔不为0,画虚线
var xOffset:Number = toX - fromX;
var yOffset:Number = toY - fromY ;
//正切角度值
var atan:Number = Math.atan2(yOffset,xOffset);
//线的总长度
var totalLen:Number =Math.sqrt(Math.pow(xOffset,2)+Math.pow(yOffset,2));
//已经画线长度
var len:Number = 0;
//当前循环是否画实线
var isDrawSolid:Boolean = true;
var tempFX:Number = fromX;
var tempFY:Number = fromY;
while(totalLen>len)
{
len = isDrawSolid ? len + solidLen : len + brokenLen;
//利用三角函数,计算该段终点坐标
var tempTX:Number = Math.cos(atan)*len + fromX;
var tempTY:Number = Math.sin(atan)*len + fromY;
if(isDrawSolid)
{
g.moveTo(tempFX,tempFY);
g.lineTo(tempTX,tempTY);
}
isDrawSolid = !isDrawSolid;
tempFX = tempTX ;
tempFY = tempTY ;
}
}
public function drawBrokenLine(g:Graphics,fromX:Number,fromY:Number,toX:Number,toY:Number,solidLen:Number=5,brokenLen:Number=0)
{
//如果间隔为0,直接画实线
if(brokenLen == 0 || solidLen == 0)
{
g.moveTo(fromX,fromY);
g.lineTo(toX,toY);
return;
}
//如果间隔不为0,画虚线
var xOffset:Number = toX - fromX;
var yOffset:Number = toY - fromY ;
//正切角度值
var atan:Number = Math.atan2(yOffset,xOffset);
//线的总长度
var totalLen:Number =Math.sqrt(Math.pow(xOffset,2)+Math.pow(yOffset,2));
//已经画线长度
var len:Number = 0;
//当前循环是否画实线
var isDrawSolid:Boolean = true;
var tempFX:Number = fromX;
var tempFY:Number = fromY;
while(totalLen>len)
{
len = isDrawSolid ? len + solidLen : len + brokenLen;
//利用三角函数,计算该段终点坐标
var tempTX:Number = Math.cos(atan)*len + fromX;
var tempTY:Number = Math.sin(atan)*len + fromY;
if(isDrawSolid)
{
g.moveTo(tempFX,tempFY);
g.lineTo(tempTX,tempTY);
}
isDrawSolid = !isDrawSolid;
tempFX = tempTX ;
tempFY = tempTY ;
}
}
全部回答
- 1楼网友:孤老序
- 2021-11-07 22:29
line 没有虚线的线条。
要么用代码来画,在两端之间使用 graphics.lineTo 和 moveTo 来画;
要么将虚线作为一张图片放进去显示。
要么用代码来画,在两端之间使用 graphics.lineTo 和 moveTo 来画;
要么将虚线作为一张图片放进去显示。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯