Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Формат текста (TextFormat) (http://www.flasher.ru/forum/showthread.php?t=131110)

serdeles 13.10.2009 11:07

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

Код AS1/AS2:

_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

Код AS1/AS2:

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

Вложений: 1
Однако: не фурычит :(
Может, я что-то не так делаю?

Волгоградец 13.10.2009 13:04

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

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

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

serdeles 13.10.2009 13:11

Отлично. Теперь всё работает. Огромное спасибо!


Часовой пояс GMT +4, время: 01:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.