Selasa, November 30, 2010

Membuat Game Pesawat



A. MENGATUR TIMELINE DAN FRAME

1. Buatlah sebuah flash document berukuran 550X350 pixel.
2. Klik tombol Insert layer pada timeline sebanyak 4 kali sehingga pada timeline terdapat 5 buah layer.
3. Ubah nama-nama layer menjadi labelASkarakterbatasbackground seperti gambar dibawah ini :

nama-layer

4. Seleksi frame 7 layer label, AS, karakter dan batas kemudian tekan F7.
5. Seleksi frame 13 layer label, AS, karakter dan batas kemudian tekan F7.
6. Seleksi frame 19 layer label, AS, dan batas kemudian tekan F7.
7. Seleksi frame 26 layer label, AS, karakter dan batas kemudian tekan F5.
8. Klik frame 1 dan tekan Ctrl+F3. Pada panel properties yang muncul masukkan menu sebagai frame label.
9. Klik frame 7 dan tekan Ctrl+F3. Pada panel properties yang muncul masukkan game sebagai frame label.
10. Klik frame 13 dan tekan Ctrl+F3. Pada panel properties yang muncul masukkan kalah sebagai frame label.
11. Klik frame 19 dan tekan Ctrl+F3. Pada panel properties yang muncul masukkan menang sebagai frame label.
12. Sehingga timeline akan terlihat seperti gambar di bawah ini :

timeline

B. MEMBUAT TAMPILAN MENU UTAMA

13. Klik frame 1 layet background agar anda aktif di layer tersebut. Buatlah sebuah persegi panjang berwarnabiru muda (#0066FF) dengan panjang dan lebar sama dengan panjang dan lebar stage. Letakkan persegi panjang tersebut di tengah-tengah stage.
14. Klik frame 1 layer batas agar anda aktif di layer tersebut. Buatlah sebuah gambar seperti di bawah ini :

cover

15. Klik frame 1 layer karakter agar anda aktif di layer tersebut. Buatlah sebuah persegi panjang berwarnaputih dengan alpha 40% dengan panjang dan lebar sama dengan panjang dan lebar stage. Letakkan persegi panjang tersebut di tengah-tengah stage.
16. Buatlah sebuah static text berwarna biru (#0000FF) dengan ukuran huruf 45 bertuliskan Oh Sky, Oh Missile. Seleksi static text ini kemudian klik menu bar Window>Properties>Filters
17. Pada panel filters yang muncul, klik tanda + kemudian pilih glow. Ubah settingannya menjadi seperti ini Blur X :5, Blur Y: 5, Strength : 100%, Quality: low, Color: putih (#FFFFFF), knockout dan inner glow tidak perlu diberi tanda contreng.
18. Buatlah sebuah static text berwarna biru (#0000FF) dengan ukuran huruf 20 bertuliskan Kumpulkan koin sebanyak-banyaknya sambil menghindari misil sampai tujuan akhir. Gunakan tombol panah pada keyboard untuk menggerakkan pemain.
19. Seleksi static text ini dan pada panel filters, klik tanda + kemudian pilih glow. Ubah settingannya seperti ini Blur X :5, Blur Y: 5, Strength : 100%, Quality: low, Color: putih (#FFFFFF), knockout dan inner glow tidak perlu diberi tanda contreng. Letakkan static text ini pada stage bagian atas.
20. Buatlah sebuah static text berwarna biru (#0000FF) dengan ukuran huruf 30 bertuliskan Main. Seleksi static textini dan pada panel filters, klik tanda + kemudian pilih glow. Ubah settingannya seperti ini : Blur X :5, Blur Y: 5, Strength : 100%, Quality: low, Color: putih (#FFFFFF), knockout dan inner glow tidak perlu diberi tanda contreng. Letakkan static text ini pada stage bagian tengah.
21. Pastikan anda masih menyeleksi static text bertuliskan Main kemudian tekan F8. Pada panel yang muncul masukkan main_btn sebagai name dan button sebagai type lalu tekan ok.
22. Seleksi button main_btn kemudian tekan Ctrl+F3. Pada panel properties yang muncul masukkan main_btnsebagai instance name.
23. Klik kanan button main_btn dan pilih Edit in Place, anda akan masuk ke dalam stage button ini. Seleksi frame Over, Down dan Hit kemudian tekan F6.
24. Klik frame Over dan ubah warna huruf bertuliskan Main menjadi biru muda (#0099FF). Klik frame Down dan ubah warna huruf bertuliskan Main menjadi biru tua (#000066).
25. Klik frame Hit dan buatlah persegi panjang dengan panjang dan lebar yang dapat digunakan untuk menutupi static text bertuliskan Main. Letakkan persegi panjang ini sama persis dengan letak static textbertuliskan Main.
26. Tekan Ctrl+E untuk kembali ke stage scene 1. Letakkan button main_btn di stage bagian bawah. Sehingga stage akan terlihat seperti gambar di bawah ini :

cover2

C. MEMBUAT TAMPILAN GAME SAAT DIMAINKAN

27. Klik frame 7 layer batas agar anda aktif di layer tersebut. Buatlah sebuah persegi panjang berwarna biru tua(#000066) dengan panjang 550 pixel dan lebar 47.8 pixel. Seleksi persegi panjang ini dan tekan F8. Pada panel yang muncul masukkan batas sebagai name dan movie clip sebagai type lalu tekan ok.
28. Seleksi movie clip batas dan tekan Ctrl+D sebanyak 3 kali sehingga di stage muncul 4 buah movie clip batas. Seleksi 2 movie clip batas dan pada panel properties ubah menjadi W = 0, H = -47.8, X = 0, Y = 302.3
29. Seleksi 2 buah movie clip batas sisanya dan pada panel properties ubah settingannya menjadi W = 47.8, H = 350.1
30. Letakkan kedua buah movie clip batas yang berbentuk tegak ini masing-masing pada posisi x = -47.8, y = 0 dan  x = 550, y = -0.1
31. Sehingga stage akan terlihat seperti ini :

batas

32. Klik frame 7 layer karakter agar anda aktif di layer tersebut. Buatlah sebuah pesawat seperti gambar di bawah ini :

pemain

33. Seleksi pesawat tersebut dan tekan Ctrl+G. Kemudian buatlah sebuah persegi panjang berwarna biru. Seleksi persegi panjang ini dan tekan F8. Pada panel yang muncul masukkan kotak sebagai name dan movie clip sebagai type lalu tekan ok.
34. Atur letak dan ukuran movie clip kotak ini sehingga menutupi gambar pesawat yang kita buat di atas namun ekor/asap pesawat jangan sampai tertutupi. Pastikan anda masih menyeleksi movie clip kotak ini masukkanarea sebagai instance name kemudian ubah Color pada panel properties menjadi 0%.

pemain2

35. Seleksi pesawat dan movie clip kotak ini kemudian tekan F8. Pada panel yang muncul masukkan pemainsebagai name dan movie clip sebagai type lalu tekan ok.
36. Seleksi movie clip pemain dan pada panel properties masukkan pemain sebagai instance name. Letakkan movie clip pemain ini di stage sesuai keinginan anda.
37. Buatlah sebuah persegi panjang berwarna linear (#666666 dan #999999) dan pada panel properties ubah menjadi W = 434.8, H = 48.4, X = 0, Y = 301.6 atau atur letaknya hingga menutupi movie clip berinstance name bawah.
38. Buatlah sebuah garis dengan ketebalan 3 berwarna kuning dan pada panel properties ubah settingannya menjadi W = 373.1, H = 0, X = 32.7, Y = 373.2
39. Buatlah 2 buah static text masing-masing bertuliskan Start dan Finish. Seleksi static text bertuliskan Start dan pada panel properties ubah menjadi x = 16 dan y = 301.6 Seleksi static text bertuliskan Finish dan pada panel properties ubah settingannya menjadi x = 386.6 dan y = 301.6
40. Seleksi movie clip pemain di stage kemudian tekan Ctrl+D sekali. Seleksi hasil duplikasi movie clip pemain kemudian pada panel properties ubah instance namenya menjadi settingannya mini, H = 51.5, H = 17, x = 11.4, Y = 320.1
41. Buatlah sebuah garis berwarna #666666. Seleki garis ini dan pada panel properties ubah settingannya menjadi W = 0, H = 48.4, X = 434.8, Y = 301.6
42. Buatlah sebuah dynamic text. Seleksi dynamic text ini dan pada panel properties masukkan life_tampilsebagai var, W = 114.1, H = 21.1, X = 435.9, Y = 303.9
43.Buatlah sebuah dyanmic text. Seleksi dynamic text ini dan pada panel properties masukkan skor_tampilsebagai var, W = 114.1, H = 21.1, X = 435.9, Y = 327.3 Kurang lebih stage pada frame 7 akan terlihat seperti di bawah ini :

ingame

44. Buatlah sebuah awan berwarna putih dengan alpha 40% seperti gambar di bawah ini. Seleksi awan tersebut dan tekan F8. Pada panel yang muncul masukkan awan sebagai name dan movie clip sebagai type serta pastikan titik registrationnya berada di tengah-tengah lalu tekan ok. Hapus movie clip awan ini dari stage.

awan

45. Buatlah sebuah misil seperti gambar di bawah ini. Seleksi misil tersebut dan tekan F8. Pada panel yang muncul masukkan misil sebagai name dan movie clip sebagai type serta pastikan titik registrationnya berada di tengah-tengah lalu tekan ok.

misil

46. Klik kanan movie clip misil dan pilih Edit in Place maka anda akan masuk ke dalam stage movie clip misil ini. Klik frame 1 dan tekan F9. Pada panel actions yang muncul masukkan script berikut :

1
2
//menghentikan agar tidak memainkan frame berikutnya
stop();
47. Klik kanan frame 2 dan pilih Insert Blank Keyframe. Buatlah sebuah lingkaran berwarna kuning. Seleksilingkaran tersebut dan tekan F8. Pada panel yang muncul masukkan ledakan sebagai name dan movie clip sebagai type serta pastikan titik registrationnya berada di tengah-tengah lalu tekan ok.
48. Seleksi movie clip ledakan dan pada panel properties ubah menjadi W = 75.1, H = 75.1, X = -37.5, Y = -37.5
49. Klik kanan frame 5 dan pilih Insert KeyFrame. Seleksi movie clip ledakan di frame 5 dan pada panel properties ubah menjadi W = 130.8, H = 130.8, X = -65.4, Y = -65.4
50. Klik kanan frame 2 dan pilih Create Motion Tween. Tekan Ctrl+E untuk kembali ke stage scene 1. Hapus movie clip misil dari stage.
51. Buatlah sebuah koin seperti gambar di bawah ini. Seleksi koin tersebut dan tekan F8. Pada panel yang muncul masukkan koin sebagai name dan movie clip sebagai type serta pastikan titik registrationnya berada di tengah-tengah lalu tekan ok. Hapus movie clip koin ini dari stage.

koin

D. MEMBUAT TAMPILAN JIKA KALAH

52. Klik frame 13 layer batas agar anda aktif di layer tersebut. Kemudian buatlah sebuah gambar seperti di bawah ini dan letakkan di tengah-tengah stage :

gameover

53. Klik frame 13 layer karakter agar anda aktif di layer tersebut. Buatlah sebuah persegi panjang berwarnaputih dengan alpha 40% dengan panjang dan lebar sama dengan panjang dan lebar stage. Letakkan persegi panjang tersebut di tengah-tengah stage.
54. Buatlah sebuah static text bertuliskan GAME OVER. Seleksi static text ini lalu pilih pada menu barWindow>Properties>Filters. Tekan tanda + dan pilih Glow. Ubah settingannya menjadi Blur X :5, Blur Y: 5, Strength : 100%, Quality: low, Color: putih (#FFFFFF), knockout dan inner glow tidak perlu diberi tanda contreng.
55. Buatlah 3 buah static text masing-masing bertuliskan Anda Gagal Menyelesaikan Game iniScore AndaMain lagi. Seleksi 3 buah static text ini kemudian pada panel filters klik tanda + dan pilih Glow. Ubah parametersnya menjadi settingannya menjadi Blur X :5, Blur Y: 5, Strength : 100%, Quality: low, Color: putih (#FFFFFF), knockout dan inner glow tidak perlu diberi tanda contreng.
56. Seleksi static text bertuliskan Main Lagi kemudian tekan F8. Pada panel yang muncul masukkanmainlagi_btn sebagai name dan button sebagai type lalu tekan ok. Seleksi button mainlagi_btn di stagekemudian tekan Ctrl+F3. Pada panel properties yang muncul masukkan mainlagi_btn sebagai instance name.
57. Buatlah sebuah dynamic text. Seleksi dyanmic text tersebut dan pada panel properties masukkan skor_tampil sebagi var. Pastikan anda masih menyeleksi dynamic text ini kemudian pilih pada menu barWindow>Properties>Filters. Tekan tanda + dan pilih Glow. Ubah settingannya menjadi Blur X :5, Blur Y: 5, Strength : 100%, Quality: low, Color: putih (#FFFFFF), knockout dan inner glow tidak perlu diberi tanda contreng.

gameover2

58. Atur letak static text, dynamic text dan button yang kita buat pada frame 13 layer karakter seperti gambar di bawah ini :

E. MENGATUR TAMPILAN JIKA MENANG.

59. Klik kanan frame 19 layer karakter dan pilih Insert KeyFrame. Pada frame 19 layer karakter ubah static textbertuliskan Anda Gagal Menyelesaikan Game ini menjadi Anda Berhasil Menyelesaikan Game ini. Klik frame 19 layer batas dan buatlah gambar seperti di bawah ini :

F. MENGATUR LINKAGE

60. Tekan Ctrl+R dan pada panel yang muncul cari 3 buah suara yang diinginkan yang akan digunakan untuk background musik, suara pemain mendapatkan koin, dan suara pemain menabrak misil lalu tekan open.
61. Tekan Ctrl+L dan pada panel library yang muncul klik kanan suara yang digunakan sebagai background musik lalu pilih linkage. Pada panel yang muncul berikan tanda contreng pada Export for ActionScript dan masukkan musik sebagai identifier lalu tekan ok
62.Klik kanan suara pada panel library yang digunakan sebagai suara saat pemain mendapatkan koin lalu pilih linkage. Pada panel yang muncul berikan tanda contreng pada Export for ActionScript dan masukkan clingsebagai identifier lalu tekan ok
63. Klik kanan suara pada panel library yang digunakan sebagai suara saat pemain menabrak misil lalu pilih linkage. Pada panel yang muncul berikan tanda contreng pada Export for ActionScript dan masukkan ledakansebagai identifier lalu tekan ok
64. Klik kanan movie clip misil pada panel library dan pilih linkage. Pada panel yang muncul berikan tanda contreng pada Export for ActionScript dan masukkan misil sebagai identifier lalu tekan ok
65. Klik kanan movie clip koin pada panel library dan pilih linkage. Pada panel yang muncul berikan tanda contreng pada Export for ActionScript dan masukkan koin sebagai identifier lalu tekan ok
66. Klik kanan movie clip awan pada panel library dan pilih linkage. Pada panel yang muncul berikan tanda contreng pada Export for ActionScript dan masukkan awan sebagai identifier lalu tekan ok

library1

G. MEMASUKKAN SCRIPT

67. 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
//menghentikan agar tidak memainkan frame selanjutnya
stop();
//mendeklarasikan sound yang digunakan dalam game
ledakan = new Sound();
ledakan.attachSound("ledakan");
cling = new Sound();
cling.attachSound("cling");
musik = new Sound();
musik.attachSound("musik");
//ketika tekanan pada button main_btn dilepaskan
main_btn.onRelease = function() {
 //mainkan frame berlabel game
 gotoAndPlay("game");
};
//matikan seluruh suara
stopAllSounds();
//mainkan suara yang terdapat dalam musik sebanyak 999
musik.start(0, 999);
68. Klik frame 7 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
//menghentikan frame agar tidak memainkan frame selanjutnya
stop();
//membuat variabel kecepatan dengan nilai 10
kecepatan = 10;
//membuat variable skor dengan nilai 0
skor = 0;
//membuat variable waktu dengan nilai 0
waktu = 0;
//membuat variable life dengan nilai 3
life = 3;
//perintah yang dijalankan ketika frame didalam movie clip pemain dijalankan
pemain.onEnterFrame = function() {
 //tampilkan Score : + nilai variable skor pada dynamic text dengan var skor_tampil
 skor_tampil = "Score : "+skor;
 //tampilkan Life : + nilai variable life pada dynamic text dengan var life_tampil
 life_tampil = "Life : "+life;
 //nilai variable waktu ditambah 1
 waktu++;
 //jika tombol panah atas ditekan dan movie clip ini tidak menabrak movie clip atas
 if (Key.isDown(Key.UP) && !this.area.hitTest(atas)) {
  //koordinat y movie clip ini dikurangi nilai variable kecepatan
  this._y -= kecepatan;
 }
 //jika tombol panah bawah ditekan dan movie clip ini tidak menabrak movie clip bawah            
 if (Key.isDown(Key.DOWN) && !this.area.hitTest(bawah)) {
  //koordinat y movie clip ini ditambah nilai variable kecepatan
  this._y += kecepatan;
 }
 //jika tombol panah kanan ditekan dan movie clip ini tidak menabrak movie clip kanan            
 if (Key.isDown(Key.RIGHT) && !this.area.hitTest(kanan)) {
  //koordinat x movie clip ini ditambah nilai variable kecepatan
  this._x += kecepatan;
 }
 //jika tombol panah kiri ditekan dan movie clip ini tidak menabrak movie clip kiri             
 if (Key.isDown(Key.LEFT) && !this.area.hitTest(kiri)) {
  //koordinat x movie clip ini dikurangi nilai variable kecepatan
  this._x -= kecepatan;
 }
 //jika movie clip kotak tidak menabrak koordinat x=0 dan y=0 movie clip mini         
 if (!kotak.hitTest(mini._x, mini._y)) {
  //koordinat x movie clip mini ditambah  0.3
  mini._x += 0.3;
 }
 //jika movie clip kotak menabrak koordinat x=0 dan y=0 movie clip mini         
 if (kotak.hitTest(mini._x, mini._y)) {
  //mainkan frame berlabel menang
  gotoAndPlay("menang");
 }
 //jika nilai variable waktu sama dengan 5 atau 25 atau 45 atau 75 atau 90      
 if (waktu == 5 || waktu == 25 || waktu == 45 || waktu == 75 || waktu == 90) {
  //masukkan movie clip dengan identifier misil pada kedalaman paling atas dengan instance name misil pada posisi x 600 dan y nilai acak 270 ditambah 10
  misil = attachMovie("misil", "misil"+_root.getNextHighestDepth(), _root.getNextHighestDepth(), {_x:600, _y:random(270)+10});
  //perintah yang dijalankan ketika frame didalam movie clip misil dijalankan
  misil.onEnterFrame = function() {
   //koordinat x movie clip ini dikurangi 8
   this._x -= 8;
   //jika movie clip ini menabarak movie clip area di dalam movie clip pemain dan frame movie clip ini berada pada frame 1
   if (this.hitTest(pemain.area) && this._currentframe == 1) {
    //nilai variable life dikurangi 1
    life -= 1;
    //mainkan suara yang terdapat dalam ledakan sebanyak 1 kali
    ledakan.start(0, 1);
    //mainkan frame 2 movie clip ini
    this.gotoAndPlay(2);
   }
   //jika koordinat movie clip ini berada diposisi kurang dari -100     
   //atau frame berada di frame 13
   //atau frame berada di frame 19
   if (this._x<-100 || _currentframe == 13 || _currentframe == 19) {
    //hapus movie clip ini dari stage
    this.removeMovieClip();
   }
  };
 }
 //jika variable waktu bernilai 10     
 if (waktu == 10) {
  //masukkan movie clip dengan identifier koin pada kedalaman paling atas dengan instance name koin pada posisi x 600 dan y nilai acak 270 ditambah 10
  koin = attachMovie("koin", "koin"+_root.getNextHighestDepth(), _root.getNextHighestDepth(), {_x:600, _y:random(270)+10});
  //perintah yang dijalankan ketika frame didalam movie clip koin dijalankan
  koin.onEnterFrame = function() {
   //koordinat x movie clip ini dikurangi 5
   this._x -= 5;
   //jika movie clip ini menabrak movie clip area di dalam movie clip pemain
   if (this.hitTest(pemain.area)) {
    //nilai variable skor ditambah 100
    skor += 100;
    //mainkan suara yang terdapat didalam cling sebanyak 1 kali
    cling.start(0, 1);
    //hapus movie clip ini dari stage
    this.removeMovieClip();
   }
   //jika koordinat movie clip ini berada diposisi kurang dari -50     
   //atau frame berada di frame 13
   //atau frame berada di frame 19
   if (this._x<-50 || _currentframe == 13 || _currentframe == 19) {
    //hapus movie clip ini dari stage
    this.removeMovieClip();
   }
  };
 }
 //jika variable waktu bernilai 10 atau 80  
 if (waktu == 20 || waktu == 80) {
  //masukkan movie clip dengan identifier awan pada kedalaman paling atas dengan instance name awan pada posisi x 650 dan y nilai acak 250
  awan = attachMovie("awan", "awan"+_root.getNextHighestDepth(), _root.getNextHighestDepth(), {_x:650, _y:random(250)});
  //membuat variable kecepatan di dalam movie clip awan dengan nilai acak 2 ditambah 2
  awan.kecepatan = random(2)+2;
  //perintah yang dijalankan ketika frame didalam movie clip awan dijalankan
  awan.onEnterFrame = function() {
   //koordniat x movie clip ini dikurangi nilai variable kecepatan movie clip ini
   this._x -= this.kecepatan;
   //jika koordinat movie clip ini berada diposisi kurang dari -50    
   //atau frame berada di frame 13
   //atau frame berada di frame 19
   if (this._x<-50 || _currentframe == 13 || _currentframe == 19) {
    //hapus movie clip ini dari stage
    this.removeMovieClip();
   }
  };
 }
 //jika variable waktu bernilai 121 
 if (waktu == 121) {
  //ubah nilai varibale waktu menjadi 0
  waktu = 0;
 }
 //jika variable life bernilai kurang dari 0        
 if (life<0) {
  //mainkan frame kalah
  gotoAndPlay("kalah");
 }
};
69. Klik frame 13 dan tekan F9. Pada panel actions yang muncul masukkan script berikut :

1
2
3
4
5
6
7
8
9
//menghentikan frame agar tidak memainkan frame selanjutnya
stop();
//tampilkan nilai variable skor pada dynamic text dengan var skor_tampil 
skor_tampl = skor;
//ketika tekanan pada button mainlagi_btn dilepaskan
mainlagi_btn.onRelease = function() {
 //mainkan frame berlabel menu
 gotoAndPlay("menu");
};
70. Klik frame 19 dan tekan F9. Pada panel actions yang muncul masukkan script berikut :
1
2
3
4
5
6
7
8
9
//menghentikan frame agar tidak memainkan frame selanjutnya
stop();
//tampilkan nilai variable skor pada dynamic text dengan var skor_tampil 
skor_tampl = skor;
//ketika tekanan pada button mainlagi_btn dilepaskan
mainlagi_btn.onRelease = function() {
 //mainkan frame berlabel menu
 gotoAndPlay("menu");
};
71. Tekan Ctrl+Enter untuk melihat hasilnya.


0 komentar:

Posting Komentar