Kamis, 22 Oktober 2009

Efek salju

Efek yang dibuat kali ini adalah efek salju. Salju yang muncul akan kita buat dengan menggunakan attachMovie. Dimana nantinya sebuah lingkaran akan di attach ke dalam stage dengan posisi, ukuran, dan kecepatan yang di acak. Lingkaran ini akan bergerak turun terus. Apabila keluar dari stage maka lingkaran ini akan dihapus.

1. Buatlah sebuah flash document.

2. Buatlah sebuah lingkaran kecil berwarna putih tanpa garis.

3. Seleksi lingkaran tersebut dan tekan F8. Pada panel yang muncul masukkan salju sebagai name dan movie clip sebagai type serta pastikan titik registrationnya berada di tengah-tengah lalu tekan ok.

4. Hapus movie clip salju di stage kemudian tekan Ctrl+L. Pada panel library yang muncul klik kanan movie clip salju dan pilih linkage,

5. Pada panel yang muncul berikan tanda contreng pada Export for ActionScript dan masukkan salju sebagai identifier lalu tekan ok.

6. Buatlah sebuah persegi berwarna biru tua tanpa garis dengan panjang dan lebar sama dengan panjang dan lebar stage.

7. Letakkan persegi tersebut di tengah-tengah stage.

8. Klik frame 1 dan tekan F9. Pada panel actions yang muncul masukkan script berikut :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//membuat variable bernama jumlah_animasi dengan nilai 0
jumlah_animasi = 0;
//perintah yang dijalankan ketika frame ini dimainkan
onEnterFrame = function () {
//jika jumlah_animasi kurang dari 30
if (jumlah_animasi<30) {
//memasukkan movie clip berlinkage salhu ke dalam stage dengan instance name salju pada posisi x sama dengan nilai acak panjang stage dan posisi y sama dengan 0
salju = attachMovie("salju", "salju"+_root.getNextHighestDepth(), _root.getNextHighestDepth(), {_x:random(Stage.width), _y:0});
//nilai ukuran salju sama dengan nilai acak 30 ditambah 60
salju._xscale = salju._yscale=random(30)+60;
//membuat variable kecepatan di dalam movie clip salju dengan nilai acak 10 ditambah 2
salju.kecepatan = random(6)+2;
//varibale jumlah_animasi ditambah 1
jumlah_animasi += 1;
//perintah yang dijalankan ketika frame movie clip salju dimainkan
salju.onEnterFrame = function() {
//koordinat y movie clip ini ditambah nilai variable kecepatan movie clip ini
this._y += this.kecepatan;
//jika nilai koordinat y movie clip ini lebih dari nilai lebar stage
if (this._y>Stage.height) {
//hapus movie clip ini dari stage
this.removeMovieClip();
//nilai variable jumlah_animasi dikurangi 1
jumlah_animasi -= 1;
}
};
}
};

9. Tekan Ctrl+Enter untuk melihat hasilnya.

Tidak ada komentar:

Poskan Komentar