早起的虫儿 发表于 2018-11-26 15:19:55

如何在两点之间画出虚线



如题,怎么用AS3在两点花一条虚线?就是给任意两个点,而不是同一个水平线上的,小弟代码如下:

    private function DrawDottedLine2(sprite:Sprite,pStart:Point,pEnd:Point,interval:uint):void
      {            
            var distance:uint =Math.abs(Math.sqrt(Math.pow((pStart.x - pEnd.x), 2) + Math.pow((pStart.y - pEnd.y), 2)));
            var loopnum:uint = distance / interval;
            var num:uint;
            var num2:uint;
            var num3:uint;
            sprite.graphics.moveTo(pStart.x, pStart.y);
            for (var i:int = 0; i <loopnum; i++)
            {
                if (num == 0)
                {
                  num = pStart.x;
                }
                else
                {
                  num = num3;
                }
               num2 = num + interval;
               num3 = num2 + interval;
               
                sprite.graphics.moveTo(num, pStart.y);
                sprite.graphics.lineTo(num2, pStart.y);               
                sprite.graphics.moveTo(num3, pStart.y);               
            }
            sprite.graphics.moveTo(num3, pEnd.y);
            sprite.graphics.lineTo(pEnd.x,pEnd.y);
      }

但是到最后一点,这线就不对了,完全成了两条线,请问各位大哥,这种有什么好办法?
这还只是直线,如果是曲线呢?


TKCB 发表于 2018-11-26 15:37:43

http://www.11ria.com/forum.php?mod=viewthread&tid=211
查看这个蚂蚁线的代码吧,或许会有收获。。

早起的虫儿 发表于 2018-11-26 15:46:07

TKCB 发表于 2018-11-26 15:37
http://www.11ria.com/forum.php?mod=viewthread&tid=211
查看这个蚂蚁线的代码吧,或许会有收获。。 ...

多谢T大,不好意思,没看到你这个帖子,叫虚线多好。。。

TKCB 发表于 2018-11-26 15:54:04

早起的虫儿 发表于 2018-11-26 15:46
多谢T大,不好意思,没看到你这个帖子,叫虚线多好。。。

我写虚线了,只是你们都不认真看帖子

TKCB 发表于 2018-11-27 08:43:36

http://www.11ria.com/forum.php?mod=viewthread&tid=1365

这里还有一个绘制虚线的demo和类库

SUPERSEIYA 发表于 2018-11-28 12:17:22

不难啊,我 觉得
页: [1]
查看完整版本: 如何在两点之间画出虚线

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)