создание и разработка веб-сайтов
поисковая оптимизация и реклама
статьи о программировании и веб-дизайне

Ссылки по теме:
 

Создание текстовых блоков при помощи Action Script 2.0

Причина, по которой я решил описать создание текстовых блоков во Flash программно при помощи Action Script 2.0, заключается в том, что сам столкнулся с проблемой изменения свойств альфа канала в созданном текстовом объекте.

Итак, для создания текстового блока применяется функция

createTextField(“name”,depth,x,y,width,height); Здесь, name – имя создаваемого текстового поля, depth – глубина слоя, x и y – координаты расположения поля на клипе, width и height – ширина и высота тектового блока соответственно. Текстовое поле создается следующим образом this.createTextField(“txt”,500,0,0,200,100); По умолчанию создается текстовое поле типа dynamic, тип которого можно изменить при помощи свойства type: txt.type=”input”; //поле ввода txt.type=”static”; //статический текст txt.type=”dynamic”; //динамический текст Для того, чтобы в этот блок поместить текст используем свойство текстового объекта text txt.text = “Текстовый блок”; Изменить цвет текста можно, используя свойство textColor, при задании которого используется шестнадцатеричное представление цвета вида 0xFFFFFF. txt.textColor = 0x0000FF; и т.д.
Отформатировать созданный текст (установить размер, гарнитуру, выравнивание шрифта) помогает функция setTextFormat(textFormatString), где textFormatString – это переменная класса TextFormat var textFormatString:TextFormat = new TextFormat(); textFormatString.font = “Tahoma”; // устанавливаем шрифт textFormatString.size = 16; // устанавливаем размер шрифта txt.setTextFormat (textFormatString); // применяем форматирование Если теперь мы воспользуемся свойством _alpha созданного объекта «txt» (например txt._alpha=0;), то текстовое поле не отреагирует на наше действие, и будет показываться также с начальными настройками. Решением данной проблемы могло бы быть импортирование шрифта в ролик и установка свойства txt.embedFonts=true, но это приводит к увеличению размеров ролика на десятки килобайт при импортировании только одного шрифта.
Для того, чтобы без загрузки дополнительных шрифтов управлять свойством прозрачности, необходимо добавить к текстовому полю какой-нибудь фильтр, например DropShadow, для этого в код добавляем строки: #импортируем фильтр Import flash.filters.DropShadowFilter; #создаем переменную класса DropShadowFilter var dsFilter: DropShadowFilter=new DropShadowFilter(0,0,0,0,0,0); #применяем фильтр к текстовому полю txt.filters=[ dsFilter];

Теперь можно спокойно управлять прозрачностью альфа-канала в текстовом блоке.


13 августа 2009 г.