Đang chuẩn bị liên kết để tải về tài liệu:
SÓNG NƯỚC LUNG LINH

Không đóng trình duyệt đến khi xuất hiện nút TẢI XUỐNG

Tài liệu tham khảo về cách lập trình sóng nước lung linh. | 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

Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.