ActionScript выравнивая графический линейный ход?
-
26-09-2019 - |
Вопрос
Можно ли выровнять ход графики с помощью ActionScript? Например, следующий код создает черный закругленный прямоугольный с серым ходом, который автоматически выровнен в центре.
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 вы можете выровнять инсульт, чтобы быть либо центром (половина в / половина из заполнения), внутри (граничит в пределах заполнения) или снаружи. (граничит за пределами заполнения).
Решение
Это не поддерживается во Flash (даже в графическом интерфейсе). Вам придется модифицировать параметры носителя для моделирования этого эффекта.
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();
Не связан с StackOverflow