sainTutorial Membuat Game Flash Sederhana

Pada tutorial ini saya menggunakan action script 2.0 dan adobe flash CS3. Maaf sebelumnya jika pada gambar terdapat bahasa yang aneh. Saya sendiri tidak tahu itu bahasa apa. Pembukaan 1. Buatlah new flash document dengan ukuran stage 500x400 pixels dan 20 fps. 2. Buatlah 3 layer baru dan beri masing masing layer dengan nama bg, simbol,label dan action. 3. Seleksi seluruh frame 1 pada semua layer lalu sambil menekan tombol ctrl seleksi seluruh frame 5,frame 10,frame 15,frame 20, frame 30, dan frame 35 di semua layer, lalu tekan F7. 4. Seleksi frame 40 di semua layer,lalu tekan F5. 5. Klik layer label lalu. Klik frame 1 dan buka panel properties lalu ketikkan menu pada kolom frame label. Ulangi hal yang sama pada frame 5,10,15,20,30,dan 35 dengan masing masing nama about,help,highScore,game,gameover dan win. 6. Klik frame 1 layer action lalu tekan F9. masukkan script : stop(); lakukan hal yang sama pada frame 5,10,15,20,30,35 layer action. Lihat pada gambar 1.1

Gambar 1.1 7. Klik frame 1 layer simbol dan buatlah 5 tombol play,highscore,help,about dan exit. 8. Klik tombol play lalu tekan F9,masukkan script : on(release){ gotoAndPlay("game") } 8. klik tombol highscore lalu tekan F9, masukkan script :

klik tombol about lalu tekan F9. } 12. masukkan script : on(release){ gotoAndPlay("about") } 11.Lihat pada gambar.dan ketakkan di kiri atas stage. ""). masukkan script : on (release) { fscommand("quit".on(release){ gotoAndPlay("highScore") } 9. Buat 2 buah dynamic text di frame 15 layer simbol beri masing-masing dengan nama variable tampil1 dan tampil 2. klik tombol help lalu tekan F9. . Tekan F9 lalu masukkan script : on(release){ gotoAndPlay("menu") } Copy tombol back tersebut lalu paste-kan di frame 10 dan 15 layer simbol. klik tombol exit lalu tekan F9. buat tombol back di frame 5 layer simbol. masukkan script : on(release){ gotoAndPlay("help") } 10. Buat sebuah tulisan menggunakan static text “HIGHSCORE” pada frame 15 layer bg. 13.

Gambar 1. DataSkor.Array. i++) { tampil1 += DataSkor.push({skornya:0.push({skornya:0.data.Array. namanya:"None"}).push({skornya:0.data.NUMERIC). DataSkor. tampil2 = "".data.pemain.sortOn("skornya".pemain) { DataSkor.pemain.push({skornya:0. namanya:"None"}).NUMERIC). DataSkor. i++) { tampil2 += DataSkor.pemain. dan nyawa_txt.2 Klik frame 15 layer action.pemain.pemain. namanya:"None"}).tekan F9 lalu tambahkan script : tampil1 = "". DataSkor. Lihat pada gambar.data. namanya:"None"}). DataSkor = SharedObject.data.pemain[i].data. DataSkor.skornya+newline.data. namanya:"None"}).pemain[i]. namanya:"None"}).DESCENDING | Array.data.pemain. Klik frame 20 layer simbol dan buat 2 buah static text.pemain. } for (i=0.data.push({skornya:0.data.data. namanya:"None"}).namanya+newline. DataSkor. DataSkor. buat 3 buah dynamic text masing-masing beri nama variable skor_txt.data.push({skornya:0.data.pemain.push({skornya:0. namanya:"None"}). } Membuat Bagian Utama Game 14. DataSkor.pemain.push({skornya:0. DataSkor.level_txt.pemain.sortOn("skornya".pemain.pemain = new Array(). . DataSkor.push({skornya:0.data. DataSkor.push({skornya:0.pemain. namanya:"None"}). } for (i=0.DESCENDING | Array. if (!DataSkor.data.masing-masing ketikkan “score :” dan “level :” [tanpa tanda kutip] 15.getLocal("masukkanSkor"). DataSkor.data. namanya:"None"}). i<10. i<10.

Masukkan identifier seperti yang tertulis diatas. 18. buka panel properties. Beri tanda centang pada export for actionscript.pada kolom instance name ketikkan kecoa. dan tengkorak. buat karakter kecoa beserta musuh serta bonusnya seperti berikut atau sesuai kreativitas anda. Klik movieclip kecoa. Klik kanan movie clip bonus_nilai pada library. Convert menjadi movie clip dan masing-masing diberi nama : kotoran linkage:kotoran kecoa bonus_nilai linkage:bonus_nilai tulang linkage:tulang bonus_nyawa linkage:bonus_nyawa d_kotoran linkage:d_kotoran s_kotoran linkage:s_kotoran tengkorak linkage:tengkorak 17. 19.bonus_nyawa. Ulangi langkah 18 pada movieclip tulang.Gambar 1. s_kotoran. . kotoran. 20. Klik linkage. d_kotoran.3 16. hapus seluruh movieclip tersebut dari stage kecuali movieclip kecoa .

Gambar 1. Buatlah 4 buah persegi panjang berwarna putih. Pastikan titik registration berada di tengah bawah. Beri nama dan instance name :  Nama :dinding_kiri. Buatlah sebuah static text bertuliskan NEXT LEVEL. instance name :dinding_kiri  Nama :dinding_bwh. 22.4 21. Convert static text tersebut menjadi movieclip dengan nama nextLevel. Seleksi kotak putih yang atas. Drag movie clip kecoa dari library ke stage [tanpa instance name]. . Klik frame 20 layer bg. Lihat pada gambar. instance name :dinding_kanan 25. Ulangi langkah 23 pada kotak di kiri. Gambar 1. Klik movieclip dinding_atas dan beri instance name dinding_atas.convert menjadi movieclip.bawah dan kanan. 24. instance name :dinding_bawah  Nama :dinding_kanan.5 23. Beri nama dinding_atas.lalu kecilkan ukurannya dan letakkan di sebelah dynanic text nyawa_txt.sesuaikan dengan panjang dan lebar stage.

vskor = skor. Gambar 1. kecepatanNyawa = 20. nyawaMax = 7. waktu = 5. klik frame 11 layer 1 dan masukkan action script : stop().RIGHT)) { this.onEnterFrame = function() { nyawa_txt = nyawa. kecoa. . Beri tanda centang pada export for actionscript lalu masukkan identifier nextLevel. level = 1. Klik 2 kali movieclip nextLevel untuk mengeditnya.pilih linkage._y += 13. 28.UP)) { this. Klik frame 11 layer 1. 27.isDown(Key. level_txt = level.isDown(Key. skor = 0._x += 13. } if (Key. Hapus movieclip nextLevel dari stage._y -= 13.26. Kembali ke stage utama dengan menakan ctrl+E. Klik kanan movieclip nextLevel pada library.DOWN)) { this. Klik frame 10 layer 1 lalu tekan F6.isDown(Key. Lihat pada gambar.tekan F9 lalu tambahkan script : nyawa = 7. waktu++. kecepatanKotoran = 4.tekan F7. } if (Key. Klik frame 20 layer action. if (Key. kecepatanTulang = 5. kecepatanBonus = 10.6 29.

isDown(Key. } if (waktu == 10) { waktu -= 10.hitTest(kecoa)) { skor -= 100.getNextHighestDepth(). kotoran = attachMovie("kotoran". _root. d_kotoran._x += 10. "kotoran"+_root. nyawa -= 2._x += kecepatanKotoran. {_x:0._x -= 10. tulang = attachMovie("tulang".hitTest(dinding_atas)) { this.getNextHighestDepth().onEnterFrame = function() { this.getNextHighestDepth().getNextHighestDepth(). d_kotoran = attachMovie("d_kotoran"._x -= 13. if (this. } if (this.hitTest(dinding_bawah)) { this.removeMovieClip(). .hitTest(dinding_kanan)) { this. } if (level>5) { if (waktu<=10) { waktu -= 10.hitTest(kecoa)) { skor += 75.onEnterFrame = function() { this.onEnterFrame = function() { this. } }. _y:1}). kotoran._y += 10._x += kecepatanKotoran. {_x:20+random(430). if (waktu<=20) { waktu -= 10. _y:50+random(300)}). this. if (this._y -= 10. "d_kotoran"+_root.hitTest(kecoa)) { nyawa--. } if (this. "tulang"+_root. tulang. this.removeMovieClip().LEFT)) { this.hitTest(dinding_kiri)) { this. _root._rotation -= 5. } if (this. } }. this. if (this.} if (Key.getNextHighestDepth()._y += kecepatanTulang.getNextHighestDepth(). {_x:0. } if (this. _y:50+random(300)}). _root.

s_kotoran = attachMovie("s_kotoran". this. ._y += 5+random(2).getNextHighestDepth(). _y:0}). if (this. _root.this. "bonus_nyawa"+_root._x -= kecepatanNyawa. "s_kotoran"+_root. bonus_nyawa. nyawa--. _y:50+random(300)}). tengkorak.removeMovieClip(). tengkorak = attachMovie("tengkorak"._y += 10. _y:450-random(30)})._y -= kecepatanKotoran. } }. s_kotoran.onEnterFrame = function() { this. if (this. {_x:550. _root.removeMovieClip(). if (this. } } if (level<6) { if (waktu<=20) { waktu -= 15. } }.hitTest(kecoa)) { if (nyawa<nyawaMax) { nyawa++.hitTest(kecoa)) { skor += 1000.removeMovieClip().removeMovieClip(). } } if (level>6) { if (waktu<=20) { waktu += 15._rotation -= random(1).onEnterFrame = function() { this. this. } } if (level>3) { if (waktu<=25) { waktu -= 10. {_x:50+random(300). } } }. this.hitTest(kecoa)) { skor -= 1000. "tengkorak"+_root.getNextHighestDepth(). _root.getNextHighestDepth(). {_x:30+random(400).onEnterFrame = function() { this.getNextHighestDepth(). this.getNextHighestDepth(). bonus_nyawa = attachMovie("bonus_nyawa".getNextHighestDepth(). } }. this.

g e t Nex tH i g hes tDep t h ( ) . o n En t e r F r ame = func t i o n ( ) { th i s . } } i f (sko r>=2500* l e v e l and l e v e l < 10 ) { nex tLeve l = at t a c hMov i e ( " n e x t L e v e l " . 31. th i s . Lalu drag tombol exit dari library ke stage. 200. "nex t Leve l " . bonus_n i l a i . g e t Nex tH i g hes tDep t h ( ) . kecepa t anTu l ang += 2. bonus_n i l a i = at t a c hMov i e ( " b onus_n i l a i " . kecepa t anKo t o r a n++ . 33. {_x : 2 50 . kemudian buat tulisan GAME OVER menggunakan static text. } }. "bonus_n i l a i " + _ r o o t . _ r o t a t i o n += 5. l e v e l ++ . Beri variable nama pada input text tersebut. Klik frame 30 layer simbol. Klik frame 30 layer bg. Buat sebuah dynamic text disebelah tulisan “your score :”. Buat 2 buah static text masing-masing bertuliskan “your sxore :” dan “your name :” [tanpa tanda kutip]. _y :250 } ) . i f ( t h i s . gotoAndP lay ( " g ameove r " ) . } / / j i k a sudah menye lesa i k an l e v e l 10 maka menang i f ( l e v e l == 11) { gotoAndP lay ( "w i n " ) . r emoveMov ieC l i p ( ) . {_x : 2 0+ r andom(430 ) . r emoveMov ieC l i p ( ) . _y :1 } ) . h i t T e s t ( k e c oa ) ) { sko r += 250. Buat 2 buah tombol masing-masing diberi nama playAgain_btn dan save_btn. } / / j i k a nyawa = 0 maka gameover i f (nyawa<1) { nex tLeve l .} (wak tu<23 ) { waktu += 10. kecepa t anNyawa += 2. th i s . r emoveMov ieC l i p ( ) . kecepa t anBonus++ . 34. 32. nex tLeve l . } if Pembuatan Bagian Akhir 30. _roo t . Beri variable skor pada dynamic text tersebut. Buat sebuah input text disebelah tulisan “your name :”. . } }. _ y += kecepa t anBonus .

namanya: "None " } ) . . p ema i n .flush(). namanya: "None " } ) . p u sh ( { s k o r n y a : 0 . d a t a . p laye r ) { DataSko r = SharedOb jec t . i f ( !Da t aSko r . 41. DataSko r .data. namanya: "None " } ) . DataSko r .tekan F9 lalu masukkan script : on( re l e a se ) { gotoAndP lay ( "menu " ) } 37. d a t a . DataSkor. DataSko r . 39. DataSko r . } save.push({skornya:score. p u sh ( { s k o r n y a : 0 . DataSko r .35. Klik tombol playAgain_btn. p ema i n . } DataSkor. d a t a . d a t a . d a t a .buka panel properties dan masukkan save sebagai instance name.pemain.tekan F9 lalu masukkan script : nama = " I n s e r t your name" . gotoAndStop("highscore") }. p u sh ( { s k o r n y a : 0 . Klik frame 30 layer action.nama). Klik frame 35 layer action. DataSko r . p u sh ( { s k o r n y a : 0 . Klik frame 35 layer bg. Klik frame 5 layer bg. Copy seluruh isi frame 30 layer simbol lalu paste-kan ke frame 35 layer simbol. Penyelesaian 42. p ema i n . d a t a . func t i o n s impanScore ( s c o r e . d a t a . 36. DataSko r . namanya: "None " } ) . namanya: "None " } ) . d a t a . Tambahkan keterangan tentang game yang Anda buat tersebut. p ema i n . " " ) } 38. p ema i n . p ema i n . p u sh ( { s k o r n y a : 0 . Klik tombol save_btn. p u sh ( { s k o r n y a : 0 . p u sh ( { s k o r n y a : 0 . Tambahkan tulisan “CONGRATULATION!! YOU WIN!!” menggunakan static text. p ema i n . namanya: "None " } ) . p ema i n .onRelease = function() { simpanScore(skor. namanya: "None " } ) . p u sh ( { s k o r n y a : 0 . p ema i n . d a t a . Klik tombol exit. namanya: "None " } ) .lalu tambahkan script yang sama seperti frame 30 layer action. d a t a . p u sh ( { s k o r n y a : 0 . p ema i n . DataSko r . 40. contoh lihat pada gambar . d a t a . p ema i n ) { DataSko r . DataSko r . namanya: "None " } ) . p ema i n = new Ar ray ( ) . g e t L o c a l ( " masukkanSko r " ) . namanya:player}). namanya: "None " } ) . d a t a .tekan F9 lalu masukkan script : on ( r e l e a se ) { f scommand( " qu i t " . DataSko r . p u sh ( { s k o r n y a : 0 .

tulang. Sesuaikan posisinya. bonus_nyawa. Drag movieclip kecoa.bonus_nilai.beri keterangan dengan static text dan atur seperti gambar berikut. Klik frame 10 layer bg.7 43. 44. dan tengkorak ke dalam kotak tersebut dan perkecil ukurannya. Gambar 1. 45. Buat tulisan “HELP” mrnggunakan static text. s_kotoran. Buat sebuah kotak ditengah-tengah stage. d_kotoran.8 . kotoran.Gambar 1.

Simpan game dengan nama the bone eater cockroach Demikian tutorial yang singkat ini.46. Kritik dan saran akan Saya terima dengan senang hati. Gambar 1.9 47. Jika Anda menginginkan background pembuka yang lebih baik.com  therealtoxin@gmail.inc . 48. Letakkan background tersebut di frame 1 layer bg. Anda bisa membuatnya sendiri. Contact person:  husain.com copyright © 2010 husain. Mohon dimaklumi. Contoh background pembuka.abdurrohim@gmail. Mungkin masih ditemukan banyak kesalahan pada tutorial ini. karena yang membuat tutorial ini masih sangat pemula (hehehe).

Sign up to vote on this title
UsefulNot useful