Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Alpha у текста (http://www.flasher.ru/forum/showthread.php?t=110200)

Mr. Fixit 29.03.2008 03:54

Цитата:

Не-не, если отрисовывать битмапом, то понятно, что ВЕС флэшки не изменится.
Изменится нагрузка на процессор при каждом создании текстфилда.
бугога.. аргументируйте.

Сайлас 29.03.2008 04:02

Я могу быть не прав, но думаю, что так...
Учитывая количество шагов, требуемых для отрисовки текста: создание текстфилда (стандартный шаг), помещение его на специальный спрайт, попиксельная отрисовка битмапа с этого текста, расположение битмапа на специально созданный спрайт.
И кстати еще невозможно добавить простым способом к существующему тексту новый.

Mr. Fixit 29.03.2008 04:24

Цитата:

И кстати еще невозможно добавить простым способом к существующему тексту новый.
да ну...

Сайлас 29.03.2008 04:51

Опять же простым способом не для меня, а для компа.

Ноябрь 29.03.2008 05:56

можно поверх текста поместить слой с полупрозрачным фоном, эффект должен быть тот же..
хм... долго альфу менял, пока не понял, что она до 1 стала.. уж 3 года как..:(

Rzer 29.03.2008 23:31

2 Alex Lexcuk:
Не учите гадостям.

2 Сайлас:
Код:

var tf:TextField = new TextField();
var font:Font = new MyFont();
var format:TextFormat = new TextFormat();
format.font = font.fontName;
format.size = 13;
format.color = 0x000000;
tf.defaultTextFormat = format;
tf.embedFonts = true;
tf.setTextFormat(format);
tf.text = "Текст";

Затем добавляешь в библиотеку шрифт с именем класса MyFont. Прозраность для внедренного шрифта можно менять.

etc 30.03.2008 00:15

Rzer, шрифт в либе — зло.

Сайлас 30.03.2008 00:38

Эмм, ну я сделал примерно так, может быть что-то некорректно :), но работает. Если что-то неправильно, подскажите:
Код:

public class MyTextField extends TextField
{
        public function MyTextField(myText:String,myX:Number,myY:Number,props:Object)
        {               
                Font.registerFont(MyFont);
                text=myText;
                x = myX;
                y = myY;
                embedFonts=true;
                var tf:TextFormat = new TextFormat('Arial');
                for (var prop:String in props) {
                        tf[prop] = props[prop];
                }
                setTextFormat(tf);
        }
}

Код:

[Embed(source="myfont.ttf", fontFamily="Arial", fontName="Arial")]
        public class MyFont extends Font
        {
                public function MyFont()
                {
                }

        }


miramax 30.03.2008 03:24

BitmapData ? А если от прозрачного текста требуется интерактивность?
Лучше менять прозрачность текста через BlendMode.ALPHA

badun 14.05.2008 05:47

Автору темы наверное уже не актуально, но чтобы просто в одном месте лежало )).
ТекстФилду надо задать какой-нибудь ничего не делающий фильтр, например:
Код:

textField.filters = [new BlurFilter(0, 0, 0)];
Таким образом он конвертится в битмап. Можно менять альфу, интерактивность не пропадает.

Подсмотренно здесь http://gorbatov.blogspot.com/2008/04/fade.html


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

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