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

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

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

Регистрация: Jun 2006
Сообщений: 4
По умолчанию dynamic text + embedded fonts проблема отображения сглаженного загружаемого текста

привет!
столкнулся с проблемой, поиск не дал решения.
итак, имеется код:
Код:
ф

stop();
import flash.geom.Rectangle;
var windowHeight:Number = 190;
var scrollerWidth:Number = 270;
var window:Rectangle = new Rectangle(0,0, scrollerWidth, windowHeight);
var intervalId:Number;
mc.cacheAsBitmap = true;
mc.scrollRect = window;

// text field creation
var txtFormat:TextFormat  =  new TextFormat ();
txtFormat.font = "miriam";
txtFormat.size = 12;

mc.createTextField ("about", 1, 0, 0, scrollerWidth, 0);
mc.about.autoSize = true;
mc.about.wordWrap = true;
mc.about.html = true;
mc.about.selectable = false;
mc.about.embedFonts = true;
mc.about.setTextFormat(txtFormat);

//---------------------------------------------

//data load

var aboutdata:LoadVars = new LoadVars();

aboutdata.onData = function (src)
{
	if (src != undefined)
	{
		mc.about.htmlText= src;
	}
	else
	{
		mc.about.text = "Unable to load external data.";
	}
}
aboutdata.load ("about.txt");

и т.д.
в библиотеке файла импортирую фонт мириам и делаю linkage с соответствующим именем.

при запуске ролика текст не отображается, размеры текстового поля не изменяются. в общем, текст упрямо не хочет отображаться.

При отмене embedFonts текст отображается, но шрифт не Мириам, а дефалтовый и размер не тот, в общем TextFormat игнорируется.

помогите пожалуста.

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

Регистрация: Apr 2004
Адрес: Харьков, Украина
Сообщений: 463
Отправить сообщение для Reijii с помощью ICQ
сомневаюсь что поиск не даст ответа на запрос embedFonts или встраивание фонта. поищи неоднократно тема поднималась.
__________________
Feсi quod potui, faciant meliora potentes

Старый 15.06.2006, 23:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Надо юзать setNewTextFormat

Старый 15.06.2006, 23:20
дядя Джо вне форума Посмотреть профиль Отправить личное сообщение для дядя Джо Найти все сообщения от дядя Джо
  № 4  
Ответить с цитированием
дядя Джо
 
Аватар для дядя Джо

Регистрация: Jan 2006
Адрес: Kremlin wall
Сообщений: 95
Здравствуйте дорогой товарищь. Ваша проблема понятна: шрифты во флэше - дело тонкое. Попробуйте сделать следующим образом, создайте на рабочем поле, но спрячте от юзера текстовое поле типа динамик текст, и вставтье ручками в это поле весь набор необходимых символов шрифта, который вам понадобиться, затем выберите тип сглаживания встроенного шрифта из выпадающего списка рядом с кнопкой Embed. Во флэш 8 выбрать можно один из трех вариантов, кроме use device font, что понятно, иначе кнопка Embed не будет доступна. В завершении жмем на эту кнопку Embed и там выбираем Auto fill, то есть будем встраивать в фильм символы которые ввели в текстовое поле, так мы наглядно будем видеть какие символы встроены в фильм, и потом не будем гадать, почему у нас пропал какой-либо знак. Кроме того если вы выберете Bitmap тип сглаживания, то буде встроен шрифт только того размера, который указан в свойствах поля, и изменить размер динамически не удасться. Итак, в настройках публикации ставим галочку generate size report, и тестируем фильм. В отчете мы сможем прочитать какие символы встроены в фильм, и точное название шрифта. Для того чтобы теперь этот шрифт применить нам понадобиться простой код:
Код:
mc.createTextField ("about", 1, 0, 0, scrollerWidth, 0);
mc.about.embedFonts = true;
mc.about.setNewTextFormat(emed_txt.getNewTextFormat());
Незабудте присвоить имя emed_txt экземпляру текстового поля, в котором храняться символы встроенного шрифта. И не перепутайте свойства setNewTextFormat и setTextFormat, первое задает формат текста который еще только будет после присвоен текстовому полю, а второе задает формат текста, который уже присвоен текстовому полю, проверье путь видимости нашего экземпляра emed_txt, если код по заданию формата будет находиться не на одной временной шкале с экземпляром текстового поля, или на другом кадре.
Больше информации о динамически встраиваемых шрифтах можно прочитать здесь
Удачи вам дорогой товарищь!
__________________
Жить стало лучше, жить стало веселей!

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

Регистрация: Apr 2004
Адрес: Харьков, Украина
Сообщений: 463
Отправить сообщение для Reijii с помощью ICQ
мда прогнал я с постом, не доглядел что есть в библиотеке уже фонт
пора отходить от клавиатуры (
__________________
Feсi quod potui, faciant meliora potentes

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

Регистрация: Jun 2006
Сообщений: 4
хм
большое спасибо всем сочуствующим, а так же товарищам.
час поздний, завтра попробую предложенные методы.

-------------------------------------------------------

.... попробовал на скроорую руку просто заменить команду на setNewTextFormat - дудки, все равног текст не отображается.

хотелось бы найти решение без использования самодельной копилки символов в динамическом текст поле, ведь в документации описано как все должно работать, и даже приведенный скрипт с поворотом текста на 45 градусов работает, однако, как только текст не вводиться напрямую из скрипта, а загружается извне, ничего не работает.
Это баг программы, или моих мозгов?


Последний раз редактировалось пипка; 16.06.2006 в 05:23.
Старый 16.06.2006, 19:10
Oreanor вне форума Посмотреть профиль Отправить личное сообщение для Oreanor Найти все сообщения от Oreanor
  № 7  
Ответить с цитированием
Oreanor

Регистрация: Sep 2004
Сообщений: 159
Отправить сообщение для Oreanor с помощью ICQ
у меня была такая же фигня, но я не смог ее победить.
точно так же - присваивал прямое значение в скрипте - все работало, а из xml-ки (точнее, из массива, выдернутого из xml, который стопудов был заполнен и трейсился) ничего не показывалось.
забил на это и сделал массив прямо во флеше

Старый 17.06.2006, 14:45
пипка вне форума Посмотреть профиль Отправить личное сообщение для пипка Найти все сообщения от пипка
  № 8  
Ответить с цитированием
пипка

Регистрация: Jun 2006
Сообщений: 4
значит так

в итоге использование setNewTextFormat помогло - шрифты отображаются корректно, однако....

Все это заработало только после того, как я создал, по совету нашего дорогого товарища динамическое текстовое поле вне главного окна, в этом поле сделал ручной embed и поставил галочку auto fill.

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

Я заново импортировал и сделал linkage требуемому шрифту, проверил код, запустил и - о чудо, работает!

В общем, такое ощущение что флэш игнорировал команды задействовать embed из скрипта, как только я пошел другим путем - он вдруг проснулся и стал нормально работать.

спасибо всем.

Старый 17.06.2006, 15:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Флеш по-разному себя не ведет, просто что-то не так делалось

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

Регистрация: Jun 2006
Сообщений: 4
мда, ты прав - сделал новый мувик, все работает и так.

решение - setNewTextFormat

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

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

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


 


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


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