Flash Waves

miro91

Registered
Здравейте. Имам проблем с един урок.
http://megatutorials.blogspot.com/2007/10/creating-photorealistic-waves-in-flash.html
ето го. правя всичко по него както трябва само че е мои снимки и се получава едно разместване.
ето fla файла ми:
http://4storing.com/16rrb/6df312ac8829d0074637495a68cb698b.html
Отворете го стартирайте флаша и ще видите разместването, ако може да ми обясните как да го оправя и къде е проблема, защото хич не чаткам AS и Flash
 
http://4storing.com/c9lij/001dae78b546316e8d336fc48abdf715.html

Размера на маската трябва да е аналогичен на ширината на клипа.
Готов е виж!
//
Според мен ще стане още по-интересно ако движиш и облаците отзад
Успех!!! :?:
 
сега няма разместване но се появява един ерор
600
_level0.gradient_mc
(a=1, b=0, c=0, d=1, tx=0, ty=0)
и това е само началото размерите няма да са такива ще го направя наново това е само тренирофка.
 
Свали Фла-то, при мен работи без грешка .... :D Това не е грешка а трейс който аз сложих....
10-ти и 11 ред сложи коментар на "
trace(gradient_mc);
trace(new flash.geom.Matrix);

направи на
//trace(gradient_mc);
//trace(new flash.geom.Matrix);
 
в момента съм с флаш 8 защото съм с по-слаб комп и може би заради това ми дава тази грешка.
 
http://4storing.com/hhx72/369a86a4cae85c23cff1c1f32b02c01a.html :(

И цифрата 600 в аутпута не е грешка а трейс :D
сложи коментар на ред 2: trace(w);
направи на:
// trace(w);

кода на фрейм 1!!!
Код:
var w = water_mc._width;
//trace(w);
var h = water_mc._height;
ripple = new flash.display.BitmapData(w, h);
ripple3 = new flash.display.BitmapData(w, h/2);
ripple2 = new flash.display.BitmapData(w, h/4);
ripple1 = new flash.display.BitmapData(w, h/4);
gradient = new flash.display.BitmapData(ripple.width, ripple.height);
gradient.draw(gradient_mc,new flash.geom.Matrix(1, 0, 0, 1, 0, 0));
//trace(gradient_mc);
//trace(new flash.geom.Matrix);
gradient_mc._visible = false;
offset3 = new flash.geom.Point(0, 0);
offset2 = new flash.geom.Point(0, 0);
offset1 = new flash.geom.Point(0, 0);
speed1 = -0.300000;
speed2 = -0.600000;
speed3 = -1.200000;
pt = new flash.geom.Point(0, 0);
rect = new flash.geom.Rectangle(0, 0, ripple.width, ripple.height);
this.onEnterFrame = function() {
	offset1.y = offset1.y+speed1;
	offset2.y = offset2.y+speed2;
	offset3.y = offset3.y+speed3;
	ripple3.perlinNoise(0,15,1,seed,true,true,1,true,[offset3]);
	ripple2.perlinNoise(0,10,1,seed,true,true,1,true,[offset2]);
	ripple1.perlinNoise(0,5,1,seed,true,true,1,true,[offset1]);
	ripple.copyPixels(ripple1,r1rect,r1pt);
	ripple.copyPixels(ripple2,r2rect,r2pt);
	ripple.copyPixels(ripple3,r3rect,r3pt);
	ripple.merge(gradient,rect,pt2,127,127,127);
	dMap = new flash.filters.DisplacementMapFilter(ripple, pt, null, 1, 100, 100, "WRAP");
	water_mc.filters = [dMap];
};
r1rect = new flash.geom.Rectangle(0, 0, ripple1.width, ripple1.height);
r2rect = new flash.geom.Rectangle(0, 0, ripple2.width, ripple2.height);
r3rect = new flash.geom.Rectangle(0, 0, ripple3.width, ripple3.height);
r1pt = new flash.geom.Point(0, 0);
r2pt = new flash.geom.Point(0, ripple1.height);
r3pt = new flash.geom.Point(0, ripple1.height+ripple2.height);
:?:
 
да мерси много стана ако дадеш урок с който да раздвижа облаците. да се движат в една посоко и като стигнат крайната точка да започва наново
+1 иначе мерси много
 

Back
Горе