Tải bản đầy đủ (.doc) (5 trang)

Sóng nước lung linh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (228.43 KB, 5 trang )

SÓNG NƯỚC LUNG LINH
Ta hãy bắt đầu với ảnh chụp hoàng hôn này:
Lưu nó với tên: sky.jpg
Sau đó, dùng photoshop hoặc một trình đồ họa khác để lật bức ảnh này lại và lưu với
tên “water”
Tư liệu có sẵn lúc này là hai hình ảnh cở 406x172 px,.
Bây giờ, mở Flash và tạo một tài liệu mới 400x330 px.
Nhấn Ctrl + R (import), và nhập hình “sky.jpg” vào sân khấu. Bấm chọn hình mới nhập
vào rồi bấm phím F8 để chuyển nó thành MovieClip, đặt tên nó là “sky_mc”
Tạo lớp mới, bấm lại phím Ctrl + R, nhập tập tin water.jpg, đặt nó dưới hình ảnh "sky",
chuyển đổi nó thành movie clip, và tên nó như là “water_mc”. Cho cho nó nằm cạnh
dưới hình bầu trời.
Tạo lớp mới, vẽ một hình chữ nhật (400 với px) và chọn màu lại cho nó với một
gradient từ trắng đến màu đen. Bấm chọn hình chữ nhật rồi bấm phím F8 để chuyển
đổi nó để thành movieclip và tên nó là: gradient_mc.
Bây giờ hãy nhấp vào mỗi hình ảnh, và điền tên của các mc vào ô Instance name như
ở hình dưới đây:
Sau đó, tạo ra một lớp mới, nhấn F9, và trong cửa sổ Actions frame vừa xuất hiện - dán
đoạn mã này vào:
// Chỉ cần copy dán vào không phải đánh lại dễ bị nhầm.
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));
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);
//
Mời bạn nhấn Ctrl+Enter thưởng thức thành quả

Tải mẫu tại đây

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×