Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Внедрение шрифтов
Flash Zone Forum > Macromedia Flash > ActionScript
SunShadow
При разработке столкнулся с такой проблемой: поскольку документации на руках нет, а в английском не очень силен так и не смог найти как же правильно внедрять шрифты в ролики.
Использую в ролике достаточно большие куски текста с описанием как следует проходить тот или иной уровень. Все бы ничего, да загвоздка в том, что у меня подсказка исчезает с экрана с использованием прозрачности (alfa), ну и естественно если я просто меняю текст у клипа где размещена подсказка, без внедрения для него прозрачность не работает. Не очень привлекательно когда клип с экрана исчез, а шрифт отчетливо виден.
Попробовал добавить шрифт в библиотеку. Простой выбор шрифта при наборе текста результатов не дает, использую кнопку "внедрить текст", и автозаполнение чтобы определить какие символы нужно внедрять. Все бы ничего, да после третьего блока текста куда внедряю шрифт у меня просто пропадают все внедренные буквы и остаются только знаки препинания в сгенерированном ролике. Подскажите, что это? глюк или я просто что-то не так делаю?
nikitar
Внедряй с помощью кнопки Embed в свойствах текста.
Только выбирай неавтозаполнение, а кириллический, латинский шрифт и пунктуацию с цифрами.
s8000_1
А я так и не понял, как сделать плавный переход прозрачности текста... Вроде бы "включил" шрифт в библиотеку.. А оно все равно не работает.
GXaD
Да-да. Если текст динамический, то он не реагирует на параметр _alpha ! sad.gif
Хотелось бы узнать возможно ли чтоб динамический текст плавно исчезал?
tiHo
да.. дисительно... чето никак нихочет становиться прозрачнее
s8000_1
о, не один я такой )...статичный текст тоже прозрачнее не становится =\
SanSanych
Для динамических текстовых полей:

Для начала добавим шрифт:
Правая кнопка мышки в библиотеке-->New font...
Выбираем шрифт-->ОК
Устанавливаем связи:
Правая кнопка мышки на свежедобавленном шрифте-->Linkage
В поле Identifier пишем имя, которое мы будем использовать в AS
Ставим галочки в полях Export for ActionsScript, Export in first frame

AS:

var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "FNT";
//где FNT значене поля Identifier опции Linkage текста в библиотеке
this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 280, 22);
my_txt.border = true;
my_txt.embedFonts = true;
my_txt.text = "Hello World";
my_txt.setTextFormat(my_fmt);
my_txt._alpha = 20;

исходник:

test.yarcity.com/us/textfieldsalpha.rar
tiHo
вообщем понятно из за чего:

my_txt.embedFonts = true
nikitar
Цитата
Да-да. Если текст динамический, то он не реагирует на параметр _alpha !
Хотелось бы узнать возможно ли чтоб динамический текст плавно исчезал?

Всё прекрасно работает без AS
1. Делаем текстовое динамическое поле.
2. Выбираем любой шрифт, нажимаем на кнопку Embed и там выбираем предположим Numeric (только цифры).
3. Из выпадающего списка выбираем Anti-alias for animation
4. В поле var пишем txt
5. выделяем поле и жмём F8
6. В instance name пишем my_mc
7. Наконец в главной сцене в кадре пишем my_mc.txt="123456"
8. Теперь делаем tween motion анимацию с переходом прозрачности. Всё работает.
s8000_1
nikitar.. motion tween не работает все равно =\
Rotwang
У меня проблема со встраиванием шрифтов, но не в AS2, а в AS3. Делаю все как рекомендует SanSanych :
Цитата
Для начала добавим шрифт:
Правая кнопка мышки в библиотеке-->New font...
Выбираем шрифт-->ОК
Устанавливаем связи:
Правая кнопка мышки на свежедобавленном шрифте-->Linkage
В поле Identifier пишем имя, которое мы будем использовать в AS
Ставим галочки в полях Export for ActionsScript, Export in first frame

за исключением поля Identifier, т.к. в AS3 оно недоступно. Когда нажимаю "ОК" в окне LinkageProperties, появляется такое окно:
Нажмите для просмотра прикрепленного файла
Нажимаю ОК, но потом при выполнении кода Флэш выдает ошибку. Может быть, файл шрифта должен лежать в одной папке с флешкой?
chingachgoog
Цитата(Rotwang @ 24.03.2009 - 21:38) *
Цитата
Правая кнопка мышки в библиотеке-->New font...



Не уверен, что так надо делать в AS3. В AS1/2 так точно НЕ НАДО было делать никогда.

Цитата(Rotwang @ 24.03.2009 - 21:38) *
Нажимаю ОК, но потом при выполнении кода Флэш выдает ошибку.


Может дело не в шрифте, а в написанном коде smile.gif ?

Rotwang
Цитата(chingachgoog @ 25.03.2009 - 21:14) *
Может дело не в шрифте, а в написанном коде smile.gif ?

Может, нужно было так:
Код №1
Код
package{
    public class FontEmbeder{
        [Embed(source="c:/windows/fonts/verdana.ttf",fontFamily="Verdana")]
        private var verdana:Class;
        
        [Embed(source="c:/windows/fonts/verdana.ttf",fontFamily="Verdana",fontWeight="bold")]
              
        var verdanabold:Class;
    }
}


Код №2
Код
package{
    import flash.display.*;
    import flash.text.*;
    
    public class HelloWorld extends Sprite{
        FontEmbeder;
    public function HelloWorld(){
        var t:TextField=new TextField();
        t.embedFonts=true;
        var format:TextFormat=new TextFormat();
        format.font="Verdana";
        t.htmlText="<FONT FACE='Verdana'>Hello<b>world</b></FONT>";
        addChild(t);
    }
    }
}

При выполнении ошибок нет, но и на экране нет ничего mad.gif. А если я меняю t.embedFonts=true; tru на false, отображается текст, но не Верданой, а Ариалом blink.gif .
Хотел прикрепить сюда файлы, но форум не позволяет.
chingachgoog
Я так понимаю, что вы читаете нетленку Мука про AS3 где-то на 813 странице?
Цитата(Rotwang @ 26.03.2009 - 19:54) *
[Embed(source="c:/windows/fonts/verdana.ttf",fontFamily="Verdana")]

Думаю тут дело в том, что это код (с тегом Embed) для Флекса, а не для Флеша.
Во Флеше (флеш-редакторе) аналогом будет являться создание фонта в библиотеке (у Мука там описано как).

Хотя я удивляюсь всем этим стараниям адоба со шрифтами в библиотеке. В AS1/2 этим бредом никто не пользовался. Надо посмотреть, что изменилось.
Rotwang
Так вот в том то и проблема, что если я делаю как у Мука, то получаю результат из моего поста № 11 этой темы laugh.gif
chingachgoog
Цитата(Rotwang @ 27.03.2009 - 15:56) *
Так вот в том то и проблема, что если я делаю как у Мука, то получаю результат из моего поста № 11 этой темы laugh.gif


Вы делаете "как у Мука" только в том случае, если используете Флекс, а у вас, насколько я понимаю, стоит Флеш.

Внедрять шрифты надо так:
1) Рисуете на стейдже динамическое текстовое поле.
2) Выбираете в нем нужный вам шрифт
3) Выделяете название шрифта и правой кнопкой копируете его. Вставляете название в текстовое поле. (это не обязательно, но удобно)
4) Выделяете текстовое поле и щелкаете по кнопке Embed
5) Выделяете нужные группы символов (Сtr в помощь), не найденные дописываете в поле Include these characters, жмете ОК.
6) Копируете текстовое поле 3 раза (Alt в помощь). Получаете 4 текстовых поля.
7) В каждом из полей устанавливаете уникальное начертание (обычное, курсивное, жирное, жирное-курсивное)
8) Выделяете все текстовые поля и жмете F8 (перевести в символ)
9) Устанавливаете галки Экспорт для скрипта, экспорт в первый кадр, ОК. На предупреждения забить.
10) Удаляем все со стейджа. Все.

Теперь берете любое текстовое поле. Устанавливает в нем внедрение и имя фонта и вуаля!
Цитата
мое_текстовое_поле.htmlText="<Font Face='Arial Cyr'>Полупрозрачный?</Font>"
мое_текстовое_поле.embedFonts=true


Обратите внимание на выделенное цветом.
У этого способа масса преимуществ, по сравнению с методом Мука и прочей лабудой по засовыванию шрифта в библиотеку.

PS
Действительно, файлы не прикрепляются, ерунда какая-то выскакивает:
Неудачная загрузка. Директория загрузок файлов не доступена. Пожалуйста, сообщите об этом администрации.

add:
Попробуем прикрепить опять...
Rotwang
chingachgoog, благодарю, получилось smile.gif ! А есть ли какая-то разница в том, чтобы форматировать текст при помощи .htmlText или TextFormat?
chingachgoog
Цитата(Rotwang @ 27.03.2009 - 17:57) *
chingachgoog, благодарю, получилось smile.gif ! А есть ли какая-то разница в том, чтобы форматировать текст при помощи .htmlText или TextFormat?


А вы отформатируйте текст с помощью TextFormat, а потом протрейсте
Цитата
trace(мое_текстовое_поле..htmlText)


MustLive
Цитата
Действительно, файлы не прикрепляются

Ребята, проблема с загрузкой файлов устранена. Так что можете спокойно прикреплять свои файлы (в тех разделах, где это разрешено).
Русская версия IP.Board © 2001-2012 IPS, Inc.