代码之家  ›  专栏  ›  技术社区  ›  grayger

如何将LineStyle设置为纯色/虚线/虚线/参差不齐/闪光点?

  •  4
  • grayger  · 技术社区  · 15 年前

    我使用的是FlashCS4,它具有绘制实线/虚线/点线/参差不齐/点画线的功能。但是,我找不到绘制这些样式线的API。 Graphics.lineStyle() 不支持它。如何用程序绘制样式线?

    编辑:包括不规则/点画样式

    1 回复  |  直到 15 年前
        1
  •  3
  •   sthg    15 年前

    手动解决方案,找到 here . 在AS2下工作得很好,但是可能需要一些调整才能使它在AS3下工作。

    var dotWidth:Number = 4;
    var spaceBetweenDots:Number = 1;
    var totalLineWidth:Number = 250;
    var dotsPerLine:Number = totalLineWidth / (dotWidth + spaceBetweenDots);
    for (var i:Number = 0; i < dotsPerLine; i++)
    {
        var dottedLine:MovieClip = _root.createEmptyMovieClip("topLine_" + i, this.getNextHighestDepth());
        dottedLine.lineStyle(0, 0x000000, 100);
        dottedLine.lineTo(dotWidth, 0);
        dottedLine._x = i * (dotWidth + spaceBetweenDots);
        dottedLine._y = 50;
    }
    

    您可以在其中添加一些随机的内容,以获得不规则的线条:

    var dotWidth:Number = 4;
    var spaceBetweenDots:Number = 0;
    var totalLineWidth:Number = 250;
    var dotsPerLine:Number = totalLineWidth / (dotWidth + spaceBetweenDots);
    var ragVariance: Number = 2;
    for (var i:Number = 0; i < dotsPerLine; i++)
    {   
        var raggedLine:MovieClip = _root.createEmptyMovieClip("topLine_" + i, this.getNextHighestDepth());
        raggedLine.lineStyle(0, 0x000000, 100);
        raggedLine.lineTo(dotWidth-random(ragVariance), random(ragVariance));
        raggedLine._x = i * (dotWidth + random(spaceBetweenDots));
        raggedLine._y = 100+random(ragVariance);
    }