Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   трансформация - флаг (http://www.flasher.ru/forum/showthread.php?t=92974)

toFlash 11.03.2007 00:28

трансформация - флаг
 
Вложений: 1
Хочу сделать эффект развивающегося флага... нашел исходник... но никак не могу разобраться :umnik2: как поменять/ сделать статической правую часть анимации... вобщ исходник в аттаче, буду премного благодарен за ответ, а то я чет закипаю :rolleyes:

iNils 11.03.2007 00:32

Что значит сделать статичной правую часть?

toFlash 11.03.2007 00:39

ну.. сейчас левая часть анимации/флага статическая, т.е. неподвижна, нетрансформируема, т.е. создается впечатление что флаг стоит на штоке и развивается в правую сторону, а мне надо наоборот.:wacko:

iNils 11.03.2007 01:24

В de.popforge.wm2006.effect.Flag заменить следующие методы (белым отмечены параметры отвечающие за направление)
Код:

public function enterFrame(): Void {
        //-- clear output
        output.fillRect( bounds, 0 );
       
        //-- apply wind
        perlinNoiseOffset[0].x += .04 * source.width;
        perlinNoiseOffset[1].x -= .03 * source.height;

        //-- update perlinNoise
        perlinNoiseBitmapData.perlinNoise( .66 * source.width, .66 * source.height, 2, perlinNoiseSeed, false, true, 6, false, perlinNoiseOffset );
       
        //-- reduce perlinNoise on the left side
        perlinNoiseBitmapData.copyPixels( perlinNoiseFallOff, bounds, ORIGIN, perlinNoiseFallOff, ORIGIN, true );
       
        //-- apply displacement
        output.applyFilter( flag, bounds, ORIGIN, displacement );
       
        //-- copy displacement onto lights-bitmapData with alpha from current output
        light.copyPixels( perlinNoiseBitmapData, bounds, ORIGIN, output, ORIGIN );
       
        //-- turn perlinNoise into gray
        light.applyFilter( light, bounds, ORIGIN, gray );

        //-- draw onto output by blendMode MULTIPLY
        output.draw( light, IDENTITY, lightContrast, 'multiply' );
}

Код:

private function createPerlinNoiseFallOffGradient(): Void {
        perlinNoiseFallOff = new BitmapData( width, height, true, 0 );
       
        //-- need a container for drawing
        var shape: MovieClip = _root.createEmptyMovieClip( 'shapeCreator', _root.getNextHighestDepth() );
       
        //-- move shape outside stage to draw transparent
        shape._y = -16000;
       
        //-- create matrix
        var gradientBox: Matrix = new Matrix();
       
        gradientBox.createGradientBox( width - flagOffset.x, height, 0, flagOffset.x, 0 );
       
        //-- draw gradient
        shape.beginGradientFill( 'linear', [ 0x008080, 0x008080 ], [ 0, 100 ], [ 0x60, 0xF0], gradientBox );
        shape.moveTo( 0, 0 );
        shape.lineTo( width, 0 );
        shape.lineTo( width, height );
        shape.lineTo( 0, height );
        shape.lineTo( 0, 0 );
        shape.endFill();
       
        //-- draw to bitmapData
        perlinNoiseFallOff.draw( shape );
       
        //-- remove shape
        shape.removeMovieClip();
}


toFlash 11.03.2007 01:53

Спасибо, помогло, только странно почему именно так... не пойму... как градиент филл может повлиять на это... на трансформацию, вобщ магия какай то ))

iNils 11.03.2007 02:01

Он маской является.

k0zer 30.03.2007 04:00

_xscale = -100
))

etc 30.03.2007 12:53

k0zer, вы на даты постов смотрели?

k0zer 30.03.2007 13:08

посмотрел, меньше месяца
страшный грех? ))


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

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