Форум 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)

Сайлас 28.03.2008 23:46

Alpha у текста
 
Подскажите как изменить прозрачность тексту?
TextField.alpha не изменяет абсолютно ничего.
Если добавить текстфилд на Спрайт какой-нибудь и изменять спрайту альфу тоже не получается добиться прозрачности текста.
Подскажете?

silin 29.03.2008 00:06

работает только для внедренного (embed) шрифта

Сайлас 29.03.2008 01:53

Я так понимаю в сам движок флэша ни одного фонта не встроено...
Эм, то есть нужно обязательно эмбедить файл размером около 50кб для того, чтобы можно было делать исчезающий текст? О_о
А как это делает флэш (имеется в виду когда в Flash CS3 редактируешь прозрачность у текста)? О_о
Или я чего-то не понимаю (очень надеюсь, что так и есть :) )

Alex Lexcuk 29.03.2008 02:41

Подсказываю.
Делаете пустой клип.
Делаете на пустом клипе надпись типа текстфилд
Рисуете битмап с этого клипа.
Рисуете полученный битмап на новый клип.
Делаете альфа, фильты, крутите его, все, что душе угодно
пример
конкретно
http://kind-armadillo.pochta.ru/fla/alpha.swf
http://kind-armadillo.pochta.ru/fla/alpha.zip

Дополнительная литература
http://kind-armadillo.pochta.ru/fla/sailled.swf
http://kind-armadillo.pochta.ru/fla/ItemClass_2.zip

Сайлас 29.03.2008 02:45

Гм, спасибо, как битмап рисовать я знаю примерно...
А вот что интересно: что все-таки целесообразнее (и быстрее, хотя вес свфки и скорость работы сложно сравнивать): рисовать битмап с текста и делать с ним все, что угодно или эмбедить фонт?

Кстати, фонт я заэмбедил, Arial, к примеру, свфка на 95кб выросла, это ужасно :(
Хотя текст теперь действительно становится прозрачным

Alex Lexcuk 29.03.2008 02:50

Хм ну раз размер не имеет значения ведь
http://kind-armadillo.pochta.ru/fla/alpha.swf
весит 819 байт, шрифты можно использовать любые
http://kind-armadillo.pochta.ru/fla/alpha.zip
смотрел или нет там же код первого кадра
Нажимаешь на таймлайне на первый кадр нажимаешь Ф9 и он вылазиет.

Сайлас 29.03.2008 02:51

О, применил фонт автора: http://www.flasher.ru/forum/showpost...9&postcount=26
Стало приятно, вот-с :) Всего лишь 4кб занимает

Сайлас 29.03.2008 02:53

Цитата:

Сообщение от Alex Lexcuk
Хм ну раз размер не имеет значения ведь
http://kind-armadillo.pochta.ru/fla/alpha.swf
весит 819 байт, шрифты можно использовать любые
http://kind-armadillo.pochta.ru/fla/alpha.zip
смотрел или нет там же код первого кадра
Нажимаешь на таймлайне на первый кадр нажимаешь Ф9 и он вылазиет.

Спасибо, может воспользуюсь этим способом :)
Но пока устроил вариант с "обрезанным" фонтом

Alex Lexcuk 29.03.2008 03:27

Попробовал 11 шрифтов
http://kind-armadillo.pochta.ru/fla/alpha_font.swf
Флешка все равно весит 896 байт
Исходник
http://kind-armadillo.pochta.ru/fla/font_alpha.zip

Сайлас 29.03.2008 03:29

Цитата:

Сообщение от Alex Lexcuk
Попробовал 11 шрифтов
http://kind-armadillo.pochta.ru/fla/alpha_font.swf
Флешка все равно весит 896 байт
Исходник
http://kind-armadillo.pochta.ru/fla/font_alpha.zip

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

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

Alex Lexcuk 15.05.2008 12:40

О! Вау! Подняли старый блог, моей радости нет предела. Спасибо за блур фильтр.
Однако АС3 любит битмапу, она у него шуршит как бешенная.
вес фишки 1.34 Кbt
http://kind-armadillo.pochta.ru/flash/Rotationtext.swf

вес фишки 2.01 Кbt
http://dnadillo.dn.ua/mur_gallery/ac3FLA/star_war.swf


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

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