![]() |
|
||||||||||
|
|||||
|
Хочу сделать эффект развивающегося флага... нашел исходник... но никак не могу разобраться
как поменять/ сделать статической правую часть анимации... вобщ исходник в аттаче, буду премного благодарен за ответ, а то я чет закипаю ![]()
__________________
flash portfolio |
|
|||||
|
ну.. сейчас левая часть анимации/флага статическая, т.е. неподвижна, нетрансформируема, т.е. создается впечатление что флаг стоит на штоке и развивается в правую сторону, а мне надо наоборот.
![]()
__________________
flash portfolio |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
В 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();
}
|
|
|||||
|
Спасибо, помогло, только странно почему именно так... не пойму... как градиент филл может повлиять на это... на трансформацию, вобщ магия какай то ))
__________________
flash portfolio |
|
|||||
|
[+] варез
[+3 04.04.07]
Регистрация: Jul 2002
Адрес: SPb
Сообщений: 100
|
_xscale = -100
)) |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
k0zer, вы на даты постов смотрели?
|
|
|||||
|
[+] варез
[+3 04.04.07]
Регистрация: Jul 2002
Адрес: SPb
Сообщений: 100
|
посмотрел, меньше месяца
страшный грех? )) |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|