Просмотр полной версии : Цвет шрифта в динамическом поле
В динамическом поле отображается число, которое равно числу попыток пользователя сделать кое-какое действие. Как сделать так, чтобы после того, как число станет равным восьми, все последующие цифры отображались другим (например красным) цветом?
Как-то так:
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
/**
* ...
* @author Samana
*/
public class Main extends Sprite
{
static public const RED:uint = 0xFF0000;
static public const BLACK:uint = 0x000000;
private var tf:TextField = new TextField();
private var count:int = 0;
public function Main():void
{
tf.width = 150;
tf.height = 20;
tf.text = String(count);
addChild(tf);
stage.addEventListener(MouseEvent.CLICK, stage_click);
}
private function stage_click(e:MouseEvent):void
{
count++;
tf.text = String(count);
if (count >= 8) tf.textColor = RED
else tf.textColor = BLACK;
}
}
}
неужели все так сложно? Чтобы просто задать цвет шрифта в динамическом поле этого достаточно:
count1.textColor="red";
?
count1 это instance name динамического текстового поля.
Я всего лишь набросал пример, это не значит что именно весь мой код вам нужен, это просто набросок.
tf - текстовое поле
count - переменная щетчик, которая увеличивается на единицу при клике
После клика идёт проверка чему равен щетчик. Если он равен восьми или больше, то текст становиться красным, иначе будет чёрным.
например так:
tf.addEventListener(Event.CHANGE, showLen);
function showLen (e:Event):void {
if(tf.length > 9) tf.textColor = 0xFF0000;
else tf.textColor = 0x000000;
}
Добавлено через 2 минуты
имя инстанса ловите через getChildByName() или берите напрямую если в кадрах работаете
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.