Selasa, November 30, 2010

Efek Star Field






1. Buatlah sebuah flash document.
2. Klik frame 1 dan tekan F9. Pada kotak 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//membuat sebuah variable bernama nomor dengan nilai 1000
nomor = 1000;
//membuat waktu kemunculan
interv = setInterval(function () {
 buatbintang();
}, 20);
//fungsi untuk membuat bintang baru
function buatbintang() {
 //digunakan untuk  memberikan instance name
 nomor++;
 if (nomor>2000) {
  nomor = 1000;
 }
 //membuat sebuah bintang baru             
 _root.createEmptyMovieClip("bintang"+nomor, nomor);
 with (_root["bintang"+nomor]) {
  //menggambar lingkaran
  lineStyle(2, 0xFFFFFF, 100);
  lineTo(0.2, 0);
  //mengatur posisi, transparansi, rotasi pada awal kemunculan
  _x = Stage.width/2;
  _y = Stage.height/2;
  _alpha = 0;
  _rotation = random(360);
 }
 //mengatur kecepatan
 _root["bintang"+nomor].kecepatan = random(6/2)+6/2;
 //ketika bintang berada di frame
 _root["bintang"+nomor].onEnterFrame = function() {
  //menambah kecepatan, ukuran serta transparansi bintang
  this.kecepatan *= 1+(20/500);
  this._width *= 1+(20/2500);
  this._height *= 1+(20/2500);
  this._alpha += 3;
  //menggerakkan bintang
  if (this._rotation>180) {
   this._y += (this.kecepatan*Math.cos(Math.PI/180*this._rotation));
   this._x -= (this.kecepatan*Math.sin(Math.PI/180*this._rotation));
  } else {
   this._y -= (this.kecepatan*Math.cos(Math.PI/180*this._rotation));
   this._x += (this.kecepatan*Math.sin(Math.PI/180*this._rotation));
  }
  //jika bintang berada diluar stae
  if (this._x<0-this._width || this._x>Stage.width+this._width || _y>Stage.height+this._width || _y<-this._width) {
   //hapus bintangnya
   this.removeMovieClip();
  }
 };
}
3. Tekan Ctrl+Enter untuk melihat hasilnya.


0 komentar:

Posting Komentar