Разноцветный динамический текст

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Описание: 

Добрый день. Наконец-то решился написать этот урок.

Не знаю, но может быть кому-то понадобится.

Я не знаю, может быть есть и другой способ, программный например ( В этом уроке программно изменяется только текст, но не цвет), но я с програмированием до такой степени не знаком, по-этому стараюсь чо-то придумать без использования большого кол-ва скриптов.

И так, у моего метода есть недостатки и по-этому его врятли удасться использовать в каком-то масштабном проэкте. Но возможно, можно использовать для украшения чего нибудь "мелкого".

Я пока вижу три "важных" недостатка: это то, что фон сцены играет очень важную роль, выделение текста не такое, какоехотелось бы и если плеер развернуть на весь экран, то не так как-то работать будет. Но тем не менее, если вы не передумали, то приступаем :

У меня есть несколько заготовок на сцене:

1. Это динамический текст ( Для удобствая написал в нем цифру "5"). Ну и еще две надписи. Они никакой роли не играют. Просто для красоты :)

2. Еще есть Movie Clip.Как видно на картинке ниже, его размер равен размеру Динамического текста и располагается под слоем с Динамическим текстом.

Этот Movie Clip содержит внутри себя анимацию:

Разноцветная полоска ( По высоте равная высоте динамического текста) "едет" и когда своим дальне краем достигает того места, где находится край динамического текста, а потом возвращается в исходное положение.

Черный прямоугольник явлется маской (размеры его равны размерам динамического текста). Это надо для того, что бы не видеть всю полоску.

Вот какая анимация в этом Movie Clip'е :

Все основное сделано. Теперь применим эффект Glow к динамическому тексту:

Теперь ставим галочку на Knockout. И мне не очень нравиться результат, по-этому я бы смеил цвет фона на цвет свечения (В данном случае на черный):

Ну вот и все впринципе. Во флэшке вверху я использовал еще код, который отслеживает координату курсора Х и отображает ее в Динамическом тексте.
Возможно, цвет фона и не играет большой роли, но мне кажеться намного красивее, когда фон такого же цвета как и свечение.

Исходник: 

Комментарии

Аватар пользователя ApuoH

хотелось бы видеть координаты как (x,y)  (234,445) ждем продолжения.

Аватар пользователя Banderas

как сделать, что бы кордината передавалась в динамическое текстовое поле через AS 3.0 ? типа

textF.text = Mouse.X;

Аватар пользователя B1oZ

Banderas,
так как mouseX это перменная типа Number, а текст типа String, то нужно просто явно указать тип mouseX, например так: (as3)

textF.text = String(mouseX);

Аватар пользователя Banderas

2*B1oZ * спасибо, но выдаёт значение 0 постоянно. Код

var t_field:TextField = new TextField();
t_field.text = String(mouseX);
addChild(t_field);

я реализовал свою задумку таким способом

stage.addEventListener(MouseEvent.MOUSE_MOVE, MMHandler);
var t_field:TextField = new TextField();
var mouse_x:Number;

function MMHandler(event:MouseEvent):void
{
mouse_x = event.localX;
t_field.text = String(mouse_x);
addChild(t_field);
}

Аватар пользователя TeT

Сделал как пример с одной координатой. Вообще это очень просто. ( AS2)
onEnterFrame = function (){
имя текста.text = _xmouse "+" _ymouse;
}

Keyboard not found. Press any key to continue

Аватар пользователя B1oZ

Banderas,
а осуществил ТВОЮ :) задумку так:

var t_field:TextField = new TextField();
stage.addEventListener(Event.ENTER_FRAME, MMHandler);
function MMHandler(event:Event):void
{
t_field.text = String(mouseX);
addChild(t_field);
}

Аватар пользователя rest

Что такое маска, так и не понял!
[http://disk.easyflash.org/ - тут про это рассказано]