Эффект золотого тиснения на ActionScript

Эффект золотого тиснения - это очень популярный эффект, особенно если речь идёт о текстовых эффектах. Нередко он используется и в flash-роликах. Причём рецептов реализации этого эффекта во Flash великое множество. И сегодня я продемонстрирую один из способов создания эффекта золотого тиснения с помощью возможностей языка ActionScript.

Итак, приступим. Первым делом, надо создать текстовое поле. Я сгенерирую его исключительно кодом ActionScript 3.0, но это не играет принципиальной роли. Вы можете создать текстовое поле и вручную в редакторе Adobe Flash...

Код ActionScript 3.0:

/* импорт классов */ import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFormatAlign; /* форматирование текста */ var fTxt:TextFormat = new TextFormat(); fTxt.align = TextFormatAlign.CENTER; fTxt.size = 64; fTxt.bold = true; fTxt.color = 0xffcc00; fTxt.font = "Verdana"; /* текстовое поле */ var txtField:TextField = new TextField(); txtField.defaultTextFormat = fTxt; txtField.width = 550; txtField.height = 100; txtField.selectable = false; txtField.text = "2012"; addChild(txtField); txtField.x = 0; txtField.y = 150;

А теперь самое важное - добавим к нашему текстовому полю фильтры GradientBevelFilter и DropShadowFilter...

Код ActionScript 3.0:

/* импорт классов */ import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFormatAlign; import flash.filters.GradientBevelFilter; import flash.filters.DropShadowFilter; import flash.filters.BitmapFilterQuality; /* форматирование текста */ var tf:TextFormat = new TextFormat(); tf.align = TextFormatAlign.CENTER; tf.size = 64; tf.bold = true; tf.color = 0xffdd00; tf.font = "Verdana"; /* текстовое поле */ var txtField:TextField = new TextField(); txtField.defaultTextFormat = tf; txtField.width = 550; txtField.height = 100; txtField.selectable = false; txtField.text = "2012"; addChild(txtField); txtField.x = 0; txtField.y = 150; /* применение к текстовому полу фильтров */ txtField.filters = [new GradientBevelFilter(5,45,[0xcc0000,0xffffff,0xcc6600],[0.6,0.2,0.6],[0,127,255],5,5,1,1), new DropShadowFilter(2,45,0x000000,1,3,3,1,3)];

Результат:

Вот, в принципе, и всё. Можно, конечно, поспорить о художественных достоинствах данного текстового эффекта, а также о его ресурсоёмкости, но на всех, как известно, не угодишь. С другой стороны, этот приём невероятно прост. Кроме этого, его можно взять за основу при создании других текстовых эффектов для flash-роликов.

Приведённый выше рецепт можно адаптировать и для ActionScript 2.0...

Код ActionScript 2.0:

/* импорт классов */ import flash.filters.*; /* форматирование текста */ var tf:TextFormat = new TextFormat(); tf.align = "center"; tf.size = 64; tf.bold = true; tf.color = 0xffdd00; tf.font = "Verdana"; /* текстовое поле */ var txtField:TextField = _root.createTextField("txtField", 0, 0, 0, 550, 100); txtField.selectable = false; txtField.text = "2012"; txtField.setTextFormat(tf); txtField._x = 0; txtField._y = 150; /* применение к текстовому полу фильтров */ txtField.filters = [new GradientBevelFilter(5, 45, [0xcc0000, 0xffffff, 0xcc6600], [0.6, 0.2, 0.6], [0, 127, 255], 5, 5, 1, 1), new DropShadowFilter(2, 45, 0x000000, 1, 3, 3, 1, 3)];

Результат будет точно таким же, как и в приведённом выше флеш-ролике.

Скачать исходники к данному уроку (под Adobe Flash CS 5.5).

UPD 2012-07-23:

Мне тут сказали, что градиент у меня "неправильный" и предложили следующий вариант...

Код ActionScript 3.0:

/* импорт классов */ import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFormatAlign; import flash.filters.GradientBevelFilter; import flash.filters.DropShadowFilter; import flash.filters.BitmapFilterQuality; /* форматирование текста */ var tf:TextFormat = new TextFormat ; tf.align = TextFormatAlign.CENTER; tf.size = 64; tf.bold = true; tf.color = 0xffdd00; tf.font = "Verdana"; /* текстовое поле */ var txtField:TextField = new TextField ; txtField.defaultTextFormat = tf; txtField.width = 550; txtField.height = 100; txtField.selectable = false; txtField.text = "2012"; addChild(txtField); txtField.x = 0; txtField.y = 150; /* применение к текстовому полу фильтров */ txtField.filters = [new GradientBevelFilter(5,45,[0xF7E088,0xC9AE5E,0x95712D,0xFFF1A1],[1,1,1,1],[0,100,127,200],5,5,1,1), new DropShadowFilter(2,45,0x000000,1,3,3,1,3)];

Результат:

Да, пожалуй, так эффект выглядит более реалистичным :-)

Автор: admin

Дата добавления: 2012-07-19

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

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

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

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): Просто я
Дата добавления: 2012-07-25
А то!
Добавить комментарий:







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

Идиот-тест

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

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