Тонкая настройка метода lineStyle() в ActionScript 3.0

О работе с методом lineStyle() в ActionScript 3.0 я уже недавно упоминал (статья «Методы динамического рисования в ActionScript 3.0»), но тогда я называл только три первых параметра этого метода. На самом деле параметров у этого метода гораздо больше:

lineStyle(thickness, color, alpha, pixelHinting, scaleMode, caps, joints, miterLimit);

где:

- thickness - толщина линии (целое число от 0 до 255);

- color - цвет линии;

- alpha - прозрачность линии (в диапазоне от 0 до 1);

- pixelHinting - логическое значение (true или false), определяющее, следует ли выполнять хинтинг штрихов до полных пикселов (по умолчанию стоит false);

- scaleMode - режим масштабирования;

Список допустимых значений:

1.) LineScaleMode.NORMAL

2.) LineScaleMode.NONE

3.) LineScaleMode.VERTICAL

- caps - тип концов линии;

Список допустимых значений:

1.) CapsStyle.NONE

2.) CapsStyle.ROUND

3.) CapsStyle.SQUARE

- joints - тип стыка на углах;

Список допустимых значений:

1.) JointStyle.BEVEL

2.) JointStyle.MITER

3.) JointStyle.ROUND

- miterLimit - предел усечения уголка (используется только для случая, когда параметр joints имеет тип JointStyle.MITER).

Как видите, параметров довольно много и их назначение не всегда очевидно.

Зачем столько параметров? А нужны они для того, чтобы тонко настроить стиль линий. Если этого не делать, то мы можем получить, например, вот такой результат при попытке нарисовать прямоугольник с закруглёнными углами:

Искажения линии обводки

Согласитесь, смотрится некрасиво. Но мы можем это исправить, воспользовавшись всем арсеналом параметров метода lineStyle(). А чтобы упростить настройку параметров, я сделал небольшой генератор кода для метода lineStyle():

Загрузить Adobe Flash Player

Используя данный генератор, вы можете в визуальном режиме настроить параметры для метода lineStyle() на примере таких геометрических фигур, как прямоугольник и линия (как правило, именно с ними и возникает больше всего проблем при использовании метода lineStyle()). Полученный код выводится в нижнем текстовом поле. Код из этого текстового поля вы можете скопировать и вставить в свой проект (естественно, изменив его под свои нужды). Для удобства и наглядности я снабдил код комментариями.

Пример кода из генератора:

/* импортируем классы */ import flash.display.Sprite; import flash.display.CapsStyle; import flash.display.LineScaleMode; import flash.display.JointStyle; /* создаём спрайт, внутри которого будем рисовать */ var sprite:Sprite = new Sprite(); /* настраиваем стиль линии */ sprite.graphics.lineStyle(20,52224,1,false,LineScaleMode.NORMAL,CapsStyle.SQUARE,JointStyle.BEVEL); /* рисуем прямоугольник */ sprite.graphics.beginFill(0xff0000,1) sprite.graphics.drawRoundRect(0,0,100,100,0,0); sprite.graphics.endFill(); /* рисуем линию */ sprite.graphics.moveTo(0,150); sprite.graphics.lineTo(100,150); sprite.graphics.lineTo(100,200); /* добавляем спрайт на сцену */ addChild(sprite);

Если вам неудобно настраивать тонкую линию, то вы можете воспользоваться встроенной в флеш-плеер возможностью масштабировать содержимое сцены флеш-ролика. Для этого наведите курсор мышки на флеш-ролик и правым кликом мышки вызовите контекстное меню флеш-ролика:

Масштабирование содержимого флеш-ролика через контекстное меню Flash Player

Кликните по пункту «Увеличить масштаб» и содержимое сцены флеш-ролика будет увеличено. Так гораздо удобнее настраивать внешний вид стыков линий.

Автор: admin

Дата добавления: 2012-01-26

Просмотров: 4870

Рейтинг поста: +4-

Правила перепечатки

Социальные закладки:
Комментарии:
К данной заметке комментариев пока нет. Ваш комментарий может стать первым.
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика