AS3: встраивание символов - PullRequest
0 голосов
/ 11 апреля 2011

У меня возникли проблемы с TextFields и встраиванием символов. Как я понял, способ встроить символ во Flash - это иметь TextField в мувиклипе, который экспортируется в actioncript через некоторое имя класса. Затем вставьте символы в TextField.

Но когда я пытаюсь использовать это TextField в своем проекте, я не могу больше автоматически изменять размер поля !? Есть ли лучший способ для вставки символов? или я пропускаю какой-то неизвестный атрибут? (и да, я пытался TextField.autoSize = "left" (or "center" or "right")).

TextField настраивается следующим образом во Flash CS4:
Свойства: http://screencast.com/t/0VB6KnNO6G
Реализация библиотеки: http://screencast.com/t/w3yQLqit0veI

И я вставил мувиклип, содержащий TextField, следующим образом:

protected var tabname:MovieClip = new Text(); // The property on the object

Добавление текста и настройка его настроек:

var txt:TextField = tabname.txt;

        if( !contains(tabname) )
        {
            addChild(tabname);

            var format:TextFormat = new TextFormat();
                format.bold = true;
                format.font = "Arial";
                format.size = 12;
                format.align = "left";

            var dropShadow = new DropShadowFilter(0);
                dropShadow.color = 0xFFFFFF;
                dropShadow.strength = 2;
                dropShadow.blurX = dropShadow.blurY = 5;
                dropShadow.alpha = .7;

            txt.type = TextFieldType.DYNAMIC;
            txt.multiline = tabname.wordWrap = false;
            txt.autoSize = TextFieldAutoSize.LEFT;
            txt.defaultTextFormat = format;
            txt.filters = [dropShadow];
            txt.mouseEnabled = false;
            txt.x = 10;
        }

        txt.text = value;
        txt.y = Math.ceil((tabmask.height - txt.height) /2);

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

Для встраивания шрифтов не полагайтесь на их обертывание в мувиклипы в библиотеке. Они должны быть правильно встроены как шрифты. Ниже приведены некоторые основные шаги для встраивания шрифтов, а затем пример для вашей конкретной ситуации:

1 - сделайте текстовое поле динамическим и нажмите кнопку «Вставить ..»

enter image description here

2 - Назовите шрифт чем-то значимым (например, имя шрифта) и отметьте наборы символов, которые вы будете использовать (обычно я выбираю прописные, строчные буквы, цифры и знаки препинания) Также обратите внимание, что стиль выделен жирным шрифтом, вам нужно будет вставить набор шрифтов для каждого стиля. Поэтому, если вы хотите использовать Bold и Regular, вам нужно встроить 2 шрифта.

enter image description here

3 - Если вы планируете динамически добавлять текстовые поля с помощью ActionScript, перейдите на вкладку ActionScript и добавьте для нее класс (снова используйте значимое имя)

enter image description here

4 - Наконец, нажмите кнопку ОК, и все готово. Я настроил пример, используя эти шаги, и метод автоматического размера, вы можете увидеть результаты ниже

enter image description here

1 голос
/ 12 апреля 2011

Во Flash вы можете нажать кнопку [Вставить ...] под свойствами символов TextField.В открывшемся окне вы можете указать, какие символы вы хотите встроить в текстовое поле.

О внедрении шрифтов можно сказать гораздо больше, но это простая история.Flash CS5 добавил TLF TextFields, но я не думаю, что вы ссылались на них, не так ли?

Свойство autoSize действительно не имеет никакого отношения к встраиванию шрифтов, но я думаю, что ваш TextField не является динамическим, когда вы не можете автоматически изменить его размер?

Кстати, вы используете CS5, CS4 или более раннюю версию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...