Форум Flasher.ru

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

NewFolder 03.10.2008 02:40

Можно ли как-то во флеше сделать что-то похожее на Word Art в Microsoft Word? То есть, я ввожу текст, а флеш его делает волнистым, или выпуклым или каким-либо другим?

Имеется ввиду программно

ramshteks 03.10.2008 02:56

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

kackbip 03.10.2008 11:23

А зачем резать на буковки? :) Можно и так преобразовать в битмап, а потом использовать DisplacementMapFilter. Мне кажется этот фильтр как раз для вас.

iNils 03.10.2008 11:28

Пользователь NewFolder получает предупреждение за мультипостинг.

silin 03.10.2008 11:51

http://makc.coverthesky.com/FlashFX/ffx.php?id=7

Alex Lexcuk 03.10.2008 15:01

http://murmadillo.tut.su/fla/Displac...erlinNoise.swf
http://murmadillo.tut.su/fla/Text-Di...erlinNoise.zip
http://www.dnadillo.dn.ua/fla/filters-demo.html

NewFolder 03.10.2008 16:08

Так это каждый эффект нужно самому математически просчитывать? Могу я нарисовать прямоугольник, исказить его как хочу, каким-то образом сохранить трансформацию, и потом уже применять такое же искажение ко всем другим клипам?

NewFolder 04.10.2008 23:40

Вложений: 1
Пытался разобраться на примерах. Создал один клип, который является картой. Создал фильтр и применяю его на клипе test. Но ничего не происходит :( Помогите разобраться

Alex Lexcuk 05.10.2008 01:14

Вложений: 1
Ясно, вы хотите сделать эффект черного квадрата Малевича...
Тут есть небольшая проблемка, он сильно большой, а градиент сильно маленький.
Увиличив градиент и добавив все-таки текст в текстовый эффект, все пойдет как надо.
Что бы еще больше въехать в эффект можно его добить
Код:

var myMatrix:Matrix = new Matrix();
 myMatrix.createBox(1, 1, 0, 0, 0);//scaleX,scaleY,rotation,x,y               
var  bitmapData  = new BitmapData(550, 400, false, 0x00000000);
 bitmapData.draw(my_gradient, myMatrix); 
            var mapPoint:Point      = new Point(0, 0);
            var channels:uint        = BitmapDataChannel.RED;
            var componentX:uint      = BitmapDataChannel.BLUE;
            var componentY:uint      = BitmapDataChannel.GREEN;
            var _scaleX:Number        = 30;
            var _scaleY:Number        = 100;
            var _mode:String          = DisplacementMapFilterMode.WRAP;
            var color:uint          = 0;
            var my_alpha:Number        = 0;
var my_dis_filter = new DisplacementMapFilter(bitmapData,
                                            mapPoint,
                                            componentX,
                                            componentY,
                                            _scaleX,
                                            _scaleY,
                                            _mode,
                                            color,
                                            my_alpha);                       
test.filters = new Array(my_dis_filter);
addEventListener(MouseEvent.MOUSE_MOVE, m_move);
function m_move(evt:MouseEvent)
{
trace(evt.stageX, evt.stageY);
 myMatrix.createBox(0.5, 0.5, 0, evt.stageX, evt.stageY);//scaleX,scaleY,rotation,x,y               
 bitmapData.draw(my_gradient, myMatrix); 
var my_dis_filter = new DisplacementMapFilter(bitmapData,
                                            mapPoint,
                                            componentX,
                                            componentY,
                                            _scaleX,
                                            _scaleY,
                                            _mode,
                                            color,
                                            my_alpha);                       
test.filters = new Array(my_dis_filter);

}

Теперь должно при перемещении мыши быть как бы лупа или что-то такое.

NewFolder 05.10.2008 01:57

Вложений: 1
Цитата:

Сообщение от Alex Lexcuk (Сообщение 768195)
Ясно, вы хотите сделать эффект черного квадрата Малевича...
Тут есть небольшая проблемка, он сильно большой, а градиент сильно маленький.
Увиличив градиент и добавив все-таки текст в текстовый эффект, все пойдет как надо.
Что бы еще больше въехать в эффект можно его добить
Код:

var myMatrix:Matrix = new Matrix();
 myMatrix.createBox(1, 1, 0, 0, 0);//scaleX,scaleY,rotation,x,y               
var  bitmapData  = new BitmapData(550, 400, false, 0x00000000);
 bitmapData.draw(my_gradient, myMatrix); 
            var mapPoint:Point      = new Point(0, 0);
            var channels:uint        = BitmapDataChannel.RED;
            var componentX:uint      = BitmapDataChannel.BLUE;
            var componentY:uint      = BitmapDataChannel.GREEN;
            var _scaleX:Number        = 30;
            var _scaleY:Number        = 100;
            var _mode:String          = DisplacementMapFilterMode.WRAP;
            var color:uint          = 0;
            var my_alpha:Number        = 0;
var my_dis_filter = new DisplacementMapFilter(bitmapData,
                                            mapPoint,
                                            componentX,
                                            componentY,
                                            _scaleX,
                                            _scaleY,
                                            _mode,
                                            color,
                                            my_alpha);                       
test.filters = new Array(my_dis_filter);
addEventListener(MouseEvent.MOUSE_MOVE, m_move);
function m_move(evt:MouseEvent)
{
trace(evt.stageX, evt.stageY);
 myMatrix.createBox(0.5, 0.5, 0, evt.stageX, evt.stageY);//scaleX,scaleY,rotation,x,y               
 bitmapData.draw(my_gradient, myMatrix); 
var my_dis_filter = new DisplacementMapFilter(bitmapData,
                                            mapPoint,
                                            componentX,
                                            componentY,
                                            _scaleX,
                                            _scaleY,
                                            _mode,
                                            color,
                                            my_alpha);                       
test.filters = new Array(my_dis_filter);

}

Теперь должно при перемещении мыши быть как бы лупа или что-то такое.

Спасибо большое за ответ! Могу я Вас попросить помочь мне сделать вот такой эффект?


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

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