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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Aug 2007
Сообщений: 168
По умолчанию Flash CS5: Как автоматически заменить все шрифты в текстовых полях на Embedded

Возникла необходимость пересохранить исходник из CS4 в CS5, но очевидно из-за переработанного механизма встраивания шрифтов, во всех текстовых полях это встраивание потерялось. Пришлось заменять вручную, но задача эта оказалась ужасно утомительной по причине наличия в проекте огромного количества полей. Поэтому возник вопрос: может быть можно делать это автоматически? И если можно, то как?

Старый 12.10.2010, 19:43
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от AlliAS Посмотреть сообщение
задача эта оказалась ужасно утомительной по причине наличия в проекте огромного количества полей.
Если всего много, то нужно использовать программирование!

1) Сперва создаете по одному техническому полю для внедрения для каждого шрифта и каждого нужного начертания.
Внедряете в них нужные наборы символов. Поля можно спрятать за область видимости.
2) Далее просто декларируете использование внедренных шрифтов у нужных полей:
Код AS1/AS2:
myTextField1.embedFonts = true ;
myTextField2.embedFonts = true ;
...
В принципе и сейчас можно попробовать:
Например, если есть неопределенное количество текстовых полей в мувике-контейнере mcCont, то
Код AS1/AS2:
for (i in mcCont) 
{
	if (mcCont[i].type = 'dynamic' || mcCont[i].type = 'input') //смотря что у вас
	{
		mcCont[i].embedFonts = true ;
	}
}
При этом не забыть про п.1
Если есть вложенность, то можно сделать вложенные циклы, которые обойдут все ваши объекты.

Разумеется, если имена полей заданы, то лучше задать внедрение явно, а не обходом всех объектов. Тоже циклом можно, если имена однотипны и пронумерованы:
Код AS1/AS2:
for (i = 1; i <= 30; i++)
{
	var tf:TextField = mcCont['someTextField' + i];
	tf.embedFonts = true ;
	//любые другие свойства можно тоже назначить тут же
}
PS. Примеры кода на AS2, думаю, что на AS3 нечто подобное.
__________________
Идите первым!


Последний раз редактировалось mooncar; 12.10.2010 в 19:57.
Старый 21.10.2011, 21:20
Alex626 вне форума Посмотреть профиль Отправить личное сообщение для Alex626 Найти все сообщения от Alex626
  № 3  
Ответить с цитированием
Alex626

Регистрация: Sep 2010
Сообщений: 167
Я работаю с CS4, и мне часть приходится фиксить декомпилированные файлы. Можно ли решить проюлему программно? Нужно найти все текстовые поля на всех уровнях вложенности во всём клипе. Приведите пример для большой вложенности, пожалуйста.


Последний раз редактировалось Alex626; 21.10.2011 в 21:28.
Старый 21.10.2011, 21:40
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 4  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
и мне часть приходится фиксить декомпилированные файлы
Здесь запрещено обсуждать файлы полученный путем декомпиляции

Старый 21.10.2011, 22:16
Alex626 вне форума Посмотреть профиль Отправить личное сообщение для Alex626 Найти все сообщения от Alex626
  № 5  
Ответить с цитированием
Alex626

Регистрация: Sep 2010
Сообщений: 167
Я знаю. Но файлы совершенно легальные, не ворованные сайты и не чужие разработки. Это файлы из интерфейса игры Crysis, их разрешили декомпилировать сами разработчики. Я перевожу вот эту статью (оригинал). Очень нужна помощь с альтернативными вариантами внедрения шрифтов, ведь там бывает по нескольку тысяч текстовых полей, и на замену уходят недели. Это будет использоваться только модостроителями.


Последний раз редактировалось Alex626; 21.10.2011 в 22:22.
Старый 21.10.2011, 22:38
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 6  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Во флешдевелоп есть функция Find and replace, заменяющая выбранные куски текста во всем пакете / проекте
Цитата:
их разрешили декомпилировать сами разработчики.
Что-то я сомневаюсь. Почему бы им тогда просто не выложить исходники?


Последний раз редактировалось goodguy; 21.10.2011 в 22:42.
Старый 21.10.2011, 22:46
Alex626 вне форума Посмотреть профиль Отправить личное сообщение для Alex626 Найти все сообщения от Alex626
  № 7  
Ответить с цитированием
Alex626

Регистрация: Sep 2010
Сообщений: 167
Я не работаю с билдерами.

Старый 21.10.2011, 23:14
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 8  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
С какими билдерами?

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

Регистрация: Sep 2010
Сообщений: 167
флешдевелоп, flash biulder.

Find and Replace только заменяет текст. А мне нужно внедрить шрифты.

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

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

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


 


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


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