Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.08.2010, 17:49
Myrka777 вне форума Посмотреть профиль Отправить личное сообщение для Myrka777 Найти все сообщения от Myrka777
  № 1  
Ответить с цитированием
Myrka777

Регистрация: Apr 2010
Сообщений: 22
Cool Как подогнать размер шрифта под размер текстового поля

В AS создается текстовое поле txt, к торорому применяется форматирование FRM, согласно которому размер шрифта текста равен 20:
Код AS1/AS2:
var FRM:TextFormat = new TextFormat();
FRM.font = "Arial";
FRM.color = 0xFFFFFF;
FRM.size = 20;
FRM.align = "center";
this.createTextField("txt", 999, 0, 570, 800, 30);
txt.wordWrap = true;
txt.selectable = 0;
txt.autoSize = "center";
txt.type = "static";
txt.setNewTextFormat(FRM);
txt.text = "Подогнанный";
Возможно ли автоматически подогнать размер шрифта под ширину и высоту текстового поля(т.е. 800 и 30 пикселей соотв.) без переноса строк? Может быть существует такая функция или параметр?

Старый 07.08.2010, 21:43
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Как-то нелогично подгонять шрифт под поле. Обычно наоборот делается.

Старый 07.08.2010, 23:56
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 3  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Создайте мувиклип, в нем текстовое поле, а уже мувиклип растягивайте как угодно - хоть с сохранением пропорций, хоть без (если будете искажать пропорции, то, наверное, для этого понадобится embed символов).

Ну или как вариант - создайте временное текстовое поле с autosize, вписывайте в него последовательно нужный текст со все бОльшим размером. Как только размеры поля превысят заданные - запоминайте последний "удачный" размер и его используйте.


Последний раз редактировалось rainbowrussia; 07.08.2010 в 23:58.
Старый 16.08.2010, 21:05
Myrka777 вне форума Посмотреть профиль Отправить личное сообщение для Myrka777 Найти все сообщения от Myrka777
  № 4  
Ответить с цитированием
Myrka777

Регистрация: Apr 2010
Сообщений: 22
Объясню немного по-другому.
Имеется swf, в котором с помощью createTextField создается 100 тектовых полей различной ширины. В эти поля вставляется одинаковый текст. Нужно, чтобы этот текст был растянут во всё поле и не получался многострочным. Первоначально вся 100 делается вручную и для каждого поля прописывается свой размер шрифта.
Но внезапно появилась необходимость заменить этот текст на другой, более длинный. С помощью поиска и замены я меняю текст и вижу что он весь не влез в одну строку. Как быть?

Старый 16.08.2010, 23:44
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 5  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Весь вопрос в том что вы понимаете под "растягиванием" - изменение интервала между буквами, изменение размера шрифта, изменение ширины букв... Если размер шрифта - то создайте 1 поле, помещенное в мувиклип, у мувиклипа есть _xscale, _yscale.

"весь не влез в одну строку. Как быть?" сделать текстовое поле шире.

Старый 16.08.2010, 23:53
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Все подгоны и уменьшения не подходят, если смотреть на задачу в общем. (Если не в общем, то лучше просто подгонять размер шрифта, т.е. уменьшать его до тех пора, пока текст полностью не влезет в поле) Потому что можно уменьшить до такого размера, что шрифт будет просто не читаемым.
Возможно, в данной ситуации, лучше выводить подсказку с полным текстом поля, при наведении.

Старый 17.08.2010, 15:15
JakalNax вне форума Посмотреть профиль Отправить личное сообщение для JakalNax Найти все сообщения от JakalNax
  № 7  
Ответить с цитированием
JakalNax

Регистрация: Jul 2009
Сообщений: 1
Title.text = "БЛА БЛА БЛА";
Title._width = Title.textWidth+5;
Title - динамическое текстовое поле.. с именем Title

Старый 17.08.2010, 19:20
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
И что это получится?

Старый 18.08.2010, 14:23
Myrka777 вне форума Посмотреть профиль Отправить личное сообщение для Myrka777 Найти все сообщения от Myrka777
  № 9  
Ответить с цитированием
Myrka777

Регистрация: Apr 2010
Сообщений: 22
Задача в том, чтобы не подгонять, не вписывать, не растягивать вручную все 100 текстовых полей. Необходимо что-то типа такого:
РАЗМЕР ШРИФТА = тому РАЗМЕРУ ШРИФТА при котором ШИРИНА ТЕКСТА "БЛА-БЛА-БЛА" (в пикселах) = ШИРИНЕ ТЕКСТОВОГО ПОЛЯ (в пикселах), заданной в this.createTextField().

Старый 18.08.2010, 16:26
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 10  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Еще раз - чем вас не устраивает вариант, когда в MovieClip находится TextField с размером шрифта, например, 10, автосайзом. Мувиклипу вы присваиваете _xscale, _yscale на основе того, какую он сейчас имеет ширину и какая ширина нужна?

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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