PDA

Просмотр полной версии : Формат текста (TextFormat)


serdeles
13.10.2009, 11:07
Пожалуйста, помогите добавить в код функции форматирования текста. Мне надо, чтобы выводимый текст был размером 24 px, Arial, красного цвета. Теоретически понимаю, как это сделать, а вот практически не получается.


_root.createTextField("time_txt", 1, 0, 0, 200, 20);
with (time_txt) {
border = false;
}

yourDate = new Date(2009, 12, 31);
yourDateMsec = yourDate.getTime();

F_countDown = function () {
nowDate = new Date();
nowDateMsec = nowDate.getTime();
var msec = yourDateMsec-nowDateMsec;
if (msec<=0) {
time_txt.text = "Уже наступило";
clearInterval(interval);
} else {
var sec = Math.floor(msec/1000);
var min = Math.floor(sec/60);
var hour = Math.floor(min/60);
var day = Math.floor(hour/24);
sec %= 60;
min %= 60;
hour %= 24;
time_txt.text = ""+day+" : "+hour+" : "+min+" : "+sec;
}
};
interval = setInterval(F_countDown, 1000);
F_countDown();

Волгоградец
13.10.2009, 11:26
var txtFormat:TextFormat = new TextFormat();
txtFormat.size = 24;
txtFormat.color = 0xAA0000;
txtFormat.font = "Arial";
txtFormat.bold = true;

var time_txt:TextField = this.createTextField("time_txt", 1, 0, 0, 0, 0);
time_txt.border = false;
time_txt.autoSize = true;
time_txt.embedFonts = true;
time_txt.setNewTextFormat(txtFormat);

var yourDate:Date = new Date(2009, 12, 31);
var yourDateMsec:Number = yourDate.getTime();

var interval:Number = setInterval(countDown, 1000);

function countDown():Void
{
var nowDate:Date = new Date();
var nowDateMsec:Number = nowDate.getTime();
var msec:Number = yourDateMsec - nowDateMsec;
if (msec <= 0)
{
time_txt.text = "Уже наступило";
clearInterval(interval);
}
else
{
var sec:Number = Math.floor(msec / 1000);
var min:Number = Math.floor(sec / 60);
var hour:Number = Math.floor(min / 60);
var day:Number = Math.floor(hour / 24);
sec %= 60;
min %= 60;
hour %= 24;
time_txt.text = "" + day + " : " + hour + " : " + min + " : " + sec;
}
}

countDown();

На сцене должно быть текстовое поле с нужными заэмбеденными символами.

serdeles
13.10.2009, 11:46
Спасибо!

serdeles
13.10.2009, 12:06
Однако: не фурычит :(
Может, я что-то не так делаю?

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

2. Если нужны bold-символы, то текстовому полю на сцене поставить bold.

3. Компилировать под 8-й плеер.

serdeles
13.10.2009, 13:11
Отлично. Теперь всё работает. Огромное спасибо!