Форум 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)
-   -   текстовое поле (http://www.flasher.ru/forum/showthread.php?t=68605)

Beta-tester 31.08.2005 20:38

текстовое поле
 
Как создать пустое текстовое поле(dynamic), и задать определённый шрифт, цвет текста?
Заранее биг спасибо!

iNils 31.08.2005 21:27

Народ, ну не наглейте вы уж так. Есть же хелп.

Создание текста:
myMovieClip.createTextField (instanceName, depth, x, y, width, height)

Параметры


instanceName Строка (String), задает имя создаваемого текстового поля.

depth Целое положительное число, задает глубину вложенности (Depth) создаваемого текстового поля.

x Целое число, задает горизонтальную координату создаваемого текстового поля.

y Целое число, задает вертикальную координату создаваемого текстового поля.

width Положительное целое число, задает ширину создаваемого текстового поля.

height Положительное целое число, задает высоту создаваемого текстового поля.


По умолчанию оно сразу "динамик"

Форматирование создается с помощью TextFormat:

myTextFormat = new TextFormat();
myTextFormat.bold = true;
myTextField.setTextFormat(myTextFormat);

Загляни в хелп, там много чего интересного.

Beta-tester 01.09.2005 08:27

Гиг спасибо!
В хелпе нашёл нашёл много интересного и ответы на все мои вопросы про CreateTextField!

ffffff 01.09.2005 10:02

млин вообще 70 процентов вопросов заваемых сдесь написаны в хелпе! и там описание намного лучше чем дают здесь на скорую руку... во ё... вот почаму ни кто этого не понимает!

PSHOLTY 05.09.2005 16:57

Не хотел создавать новый топик, а этот подходит на все 100%!!!!

Следующая ситуация:

1. На сцене создаем динамическое текстовое поле и обзываем его "myTextField".
2. Пишем скрипт:

myTextFormat = new TextFormat();
myTextFormat.bold = true;
myTextField.setTextFormat(myTextFormat);
myTextField.text="xxx";

3. Запускаем.


На экране пишутся три икса, но не жирным шрифтом, а обычным... :(


Мысли вслух (вот если текстовое поле программно создать, то уже проблем нет)

silin 05.09.2005 19:24

2psholty: поменяй две последние строчки местами

PSHOLTY 05.09.2005 21:56

Цитата:

Сообщение от silin
2psholty: поменяй две последние строчки местами

благодарю, работает.

А теперь еще усложню:

1. На сцене тоже динамическое текстовое поле "myTextField".
2. В библиотеку помещен шрифт "Schrift".
2. Скрипт:

myTextFormat = new TextFormat();
myTextFormat.font = "Schrift";
myTextFormat.bold = true;
myTextField.text="xxx";
myTextField.setTextFormat(myTextFormat);



Какие теперь строчки надо менять местами?

silin 05.09.2005 22:11

менять не надо, нада добавить: myTextField.embedFonts=true;

PSHOLTY 05.09.2005 22:57

myTextFormat = new TextFormat();
myTextFormat.font = "Schrift";
myTextFormat.bold = true;
myTextField.embedFonts=true;
myTextField.text="xxx";
myTextField.setTextFormat(myTextFormat);



ну не работает :confused:
шрифт обычный... а должен быть жирным :(

silin 05.09.2005 23:15

могу и ошибаться, но похоже на то, что для внедренных шрифтов стиль (bold, italic) задается для символа в библиотеке, т.е. для обычного и жирного нада создавать два шрифта в библиотеке, ну и два TextFormat(), если нужно канеш..,
а myTextFormat.bold, стало быть, не при делах для внедренных шрифтов..

7thsky™ 05.09.2005 23:35

ты не ошибаешься для каждого представления в Mx2004, надо свой символ в библиотеки создавать, мало того если текст с включенный антиальясингом то шрифт начинает подругому называться

PSHOLTY 06.09.2005 01:26

Цитата:

Сообщение от silin
могу и ошибаться, но похоже на то, что для внедренных шрифтов стиль (bold, italic) задается для символа в библиотеке, т.е. для обычного и жирного нада создавать два шрифта в библиотеке, ну и два TextFormat(), если нужно канеш..,
а myTextFormat.bold, стало быть, не при делах для внедренных шрифтов..

ну что сказать... :(


слов нет, одни эмоции...

PSHOLTY 06.09.2005 04:06

и так.... соберемся с последними силами. Рывок и мы у победной черты.

В библиотеке валяется шрифт "Schrift", а на сцене мувик, в котором написан следующий код:

this.createTextField("myTextField",1,0,0,100,100);
myTextFormat = new TextFormat();
myTextFormat.font = "Schrift";
myTextFormat.bold = true;
//myTextField.embedFonts=true;
myTextField.text="xxx";
myTextField.setTextFormat(myTextFormat);

и это чудо выводит три жирных икса :)
стоит задействовать embedFonts, так иксы тутже становятся самыми обычными. :(

А теперь самое главное. Если сверху положить маску, то текста вообще не видно ни с embedFonts, ни без него :mad:


я начинаю закипать

7thsky™ 06.09.2005 09:40

Еще раз, в библиотеке должен лежать фонт Schrift, что ты указал в нем что ты хочешь его как болд, иначе твой болд при эмбед фонт видно не будет

mediaman 06.09.2005 09:55

А про Linkage сказали? Фонт твой в библятеке должен быть линкован как например тот же Schrift, да и в Characters все отключено, еще попробуй выгнать свой текст наружу в .txt файл и помассируй теги html в нем, но еще интерестней загнать в .xml а еще..., есть еще куча вариантов =)

PSHOLTY 06.09.2005 11:49

2 7thsky™
А ведь так хочется, что все было при одном шрифте...


2 mediaman
Я сюда выкладываю упрощеный случай. А так у меня с самого начала текст из ХМЛя вытаскивается...


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

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