Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   anti-alias for animation (http://www.flasher.ru/forum/showthread.php?t=140088)

bars80080 20.05.2010 01:50

anti-alias for animation
 
что-то рылся в хэлпах, так и не нашёл

как сделать anti-alias for animation для программно задаваемого текста?

то есть чтобы написать что-то, а потом эту строку можно было бы крутить, менять цвет, прозрачность, масштаб

единственное что нашёл про anti-alias

Код AS3:

txtfield.antiAliasType = AntiAliasType.ADVANCED;

касалось встраиваемых шрифтов и применения какого-то специфического flash-оптимизатора начертания букв. но даже задание этого параметра не дало никакого эффекта, при повороте буква исчезает

gloomyBrain 20.05.2010 02:15

Цитата:

при повороте буква исчезает
Это связано с тем, что шрифт должен быть встроен в swf
Выглядит примерно так
Код AS3:

package {
 
        import flash.display.Sprite;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
        import flash.events.Event;
        import flash.text.TextField;
        import flash.text.TextFormat;
 
        /**
        * ...
        * @author gloomyBrain
        */

 
        public class Main extends Sprite {
 
                [Embed(systemFont='Arial', fontName='spArial', mimeType='application/x-font')]
                public static var ArialFont:Class;
 
                private var tf:TextField;
                private var format:TextFormat;
 
                public function Main():void {
                        if (stage) init();
                        else addEventListener(Event.ADDED_TO_STAGE, init);
                }
 
                private function init(evt:Event = null):void {
 
                        removeEventListener(Event.ADDED_TO_STAGE, init);
                        this.stage.align = StageAlign.TOP_LEFT;
                        this.stage.scaleMode = StageScaleMode.NO_SCALE;
 
                        // entry point
 
                        this.format = new TextFormat("spArial", 12);
 
                        this.tf = new TextField();
                        this.tf.defaultTextFormat = this.format;
                        this.tf.embedFonts = true;
                        this.tf.text = "Hello world!";
                        this.tf.x = 300;
                        this.tf.y = 300;
                        this.addChild(this.tf);
 
                        this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
 
                }
 
                private function onEnterFrame(evt:Event):void {
                        this.tf.rotation -= 1;
                }
 
        }
 
}


bars80080 20.05.2010 11:45

а embed случаем не действует только во флексе?

gloomyBrain 20.05.2010 12:48

Ну во Flash нужно выбрать "внедрение символа" и выбрать нужные шрифты и глифы.
... Да я уже не помню, как там во флеше, но, по идее, можно из флеша компилировать через FlexSDK

Hidest 20.05.2010 14:26

в CS4 embed работает.

bars80080 20.05.2010 14:52

спасибо, вечером попробую

Добавлено через 7 часов 33 минуты
судя по всему ему ещё нужна специальная флексовская бибилиотека

http://interes.uzelok.net/files/fontasset.PNG


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

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