Форум Flasher.ru

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

helgboy 12.08.2009 17:13

применение perlinNoise к тексту
 
Нужно применить perlinNoise к тексту а точнее к объекту TextField
Во время проигрывания ролика сам текст и его размер должны меняться.

Пробовал разные варианты, в итоге выходит только прямоугольник с переливающимися волнами но никаких следов текста
например :
Код AS3:

function funt(t1:TextField):void {
        format1.font="Courier New";
        format1.size=40;
        format1.color=0x0000ff;
        t1.defaultTextFormat=format1;
        t1.text="ПРИВЕТ";
        t1.width=300;
}
function filtr():void {
        a[0].x+=2;
        a[0].y+=1;
        var bmd:BitmapData=new BitmapData(t1.width,t1.height*2,true);
        bmd.draw(t1);
 
        var bmd2:BitmapData=new BitmapData(t1.width,t1.height*2,true);
        myMatrix.createBox(1, 1);
        bmd2.draw(bmd,myMatrix);
        bmd2.perlinNoise(110, 15, 2,1, false, false, BitmapDataChannel.ALPHA|BitmapDataChannel.RED, false, a);
 
        var rect:Rectangle=new Rectangle(0,0,200,60);
 
        var filter:BlurFilter=new BlurFilter(2,1,1);
        //bmd.draw(t1);
        //bmd.applyFilter(bmd, rect, pt, filter);
        var bm:Bitmap=new Bitmap(bmd);
        var bm2:Bitmap=new Bitmap(bmd2);
        var sp:Sprite = new Sprite();
        addChild(bm2);
        //addChild(bm);
 
 
}
 
funt(t1);
filtr();

в этом примере получаются эффект волн на красно черном прямоуголники, а должен "волноваться" сам текст .
Подскажите как сделать правильно, пожалуйста.:confused:

Волгоградец 12.08.2009 17:47

В filtr() добавь:
Код AS3:

var displacement:DisplacementMapFilter = new DisplacementMapFilter(bmd2, new Point(0, 0), BitmapDataChannel.RED, BitmapDataChannel.RED, 10, 10);
t1.filters = [displacement];

bmd, bm, bm2 - не нужны.

Alex Lexcuk 12.08.2009 18:05

Не помню, см. исходник, вроде надо положить текст на спрайт, заведомо большего размера (и плющить этот спрайт), тк. воздействуя на текст, он его естественно поломает, а куски текста вылезут за пределы текстовой области и возможно, что от нее останется черный прямоугольник.
http://murmadillo.tut.su/fla/Displac...erlinNoise.swf
http://murmadillo.tut.su/fla/Text-Di...erlinNoise.zip

helgboy 12.08.2009 20:03

Спасибо тебе добрый человек, сейчас то что нужно!!!
А на счет вторых исходников очень красиво, но я двое суток ломал голову, разобраться в его коде не могу....
Видать не дорос еще....


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

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