Как установить линейный стиль в сплошной / пунктирный / пунктирный / рваный / пунктирный во вспышке? - PullRequest
4 голосов
/ 19 января 2010

Я использую Flash CS4, и он имеет функцию рисования сплошных / пунктирных / пунктирных / рваных / пунктирных линий. Но я не могу найти API для рисования линий этих стилей. Graphics.lineStyle () не поддерживает это. Как я могу рисовать стилизованные линии программно?

РЕДАКТИРОВАТЬ: включены рваный / рельефный стиль

1 Ответ

3 голосов
/ 19 января 2010

Ручное решение, найдено здесь .Хорошо работает под 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...