ActionScript Выравнивание графической линии Стиль обводки? - PullRequest
1 голос
/ 13 июня 2010

возможно ли выровнять штрих графика с actioncript? например, следующий код создает черный прямоугольник с закругленными углами и серым штрихом, который автоматически выравнивается по центру.

var t:Sprite = new Sprite();
t.graphics.lineStyle(5, 0x555555);
t.graphics.beginFill(0, 1);
t.graphics.drawRoundRect(25, 25, 200, 75, 25, 25);
t.graphics.endFill();

Функция lineStyle, похоже, не предлагает никаких встроенных функций для выравнивания штриха. в Adobe Illustrator вы можете выровнять обводку по центру (наполовину внутри / наполовину от заливки), внутри (с границей внутри заливки) или снаружи. (окаймляя за пределами заливки).

1 Ответ

4 голосов
/ 15 июня 2010

Это не поддерживается во Flash (даже в графическом интерфейсе).Вам нужно изменить параметры drawRoundRect для имитации этого эффекта.

var strokeWidth:Number = 5;
var strokeAlign:String = 'outer';
var t:Sprite = new Sprite();
t.graphics.lineStyle(strokeWidth, 0x555555);
t.graphics.beginFill(0, 1);
if (strokeAlign == 'outer') {
    t.graphics.drawRoundRect(25 - strokeWidth / 2, 25 - strokeWidth / 2, 200 + strokeWidth, 75 + strokeWidth, 25 + strokeWidth / 2, 25 + strokeWidth / 2);
} else if (strokeAlign == 'inner') {
    t.graphics.drawRoundRect(25 + strokeWidth / 2, 25 + strokeWidth / 2, 200 - strokeWidth, 75 - strokeWidth, 25 - strokeWidth / 2, 25 - strokeWidth / 2);
} else {
    t.graphics.drawRoundRect(25, 25, 200, 75, 25, 25);
}
t.graphics.endFill();
...