17
Jun

Ledakan Berantai

Written by admin


Pada tutorial pertama di tahun 2013 ini :D   kita akan membuat sebuah kerangka (prototype) game. Kerangka game yang akan kita buat kali ini berupa sebuah lingkaran yang jika ditekan akan menjadi besar. Saat lingkaran sudah mencapai besar yang maksimal, maka lingkaran akan meledak dan menembakan peluru ke 4 mata angin. Jika lingkaran yang lain terkena peluru ini maka akan menjadi lebih besar dan jika besar sudah maksimal maka akan meledak dan menembakan peluru. Nah tugas kita adalah bagaimana caranya seluruh lingkaran bisa pecah dengan menggunakan ledakan berantai ini.

1. Buatlah sebuah flash document dengan ukuran 550×40 dan frame rate 30fps.

2. Buatlah sebuah lingkaran dengan ukuran 15×15 pixels.

lingkaran

3. Seleksi lingkaran tersebut dan tekan F8. Pada panel yang muncul ketikan “lingkaran” pada kotak Name, pilih MovieClip sebagai Typenya, lalu tekan Ok.

symbol lingkaran

4. Hapus movieclip lingkaran yang ada distage lalu buka panel library. Klik kanan movieclip lingkaran yang berada di library kemudian pilih linkage pada menu yang ada.

5. Beri centang pada Export for Actionscript dan ketikkan “lingkaran” pada bagian Identifier lalu tekan Ok.

linkage lingkaran

6. Buatlah sebuah persegi panjang dengan ukuran 10×5 pixels

pluru

7. Seleksi persegi panjang tersebut dan tekan F8. Pada panel yang muncul ketikan “peluru” pada kotak Name, pilih MovieClip sebagai Typenya, lalu tekan Ok.

symbol peluru

8. Hapus movieclip peluru yang ada distage lalu buka panel library. Klik kanan movieclip peluru yang berada di library kemudian pilih linkage pada menu yang ada.

9. Beri centang pada Export for Actionscript dan ketikkan “peluru” pada bagian Identifier lalu tekan ok.

linkage peluru

10. Dengan menggunakan Line Tool atau Rectangle Tool, buatlah sebuah objek seperti gambar dibawah ini lalu letakkan ditengah-tengah stage:

slot

11. 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
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
131
132
133
134
135
136
//untuk mendetksi apakah ada peluru distage
peluruStage = 0;
 
//untuk menampung lingkaran distage
_root.createEmptyMovieClip("tk1",_root.getNextHighestDepth());
 
//fungsi membuat lingkaran
function buatLingkaran(xpos, ypos, size) {
	lingkaran = tk1.attachMovie("lingkaran", "lingkaran"+tk1.getNextHighestDepth(), tk1.getNextHighestDepth(), {_x:xpos, _y:ypos});
	lingkaran.changeSize = size;
	lingkaran._width += 10*size;
	lingkaran._height += 10*size;
	lingkaran.onEnterFrame = function() {
		for (var ID in peluruHolder) {
			//jika peluru menabrak lingkaran
			if (this.hitTest(peluruHolder[ID]._x, peluruHolder[ID]._y, true)) {
				//ubah ukurannya menjadi lebih besar
				this.changeSize++;
				this._width += 10;
				this._height += 10;
				//hapus peluru yang menabrak
				peluruStage--
				peluruHolder[ID].removeMovieClip();
				//jika lingkaran sudah mencapai besar yang maksimal
				if (this._height>45 && this._height>45) {
					//tembakan empat peluru dan hapus lingkaran
					buatPeluru(this,1);
					buatPeluru(this,2);
					buatPeluru(this,3);
					buatPeluru(this,4);
					this.removeMovieClip();
				}
			}
		}
 
	};
	//jika lingkaran ditekan ketika tidak ada peluru distage
	lingkaran.onPress = function() {
		if (peluruStage == 0) {
			//ubah ukurannya menjadi lebih besar
			this.changeSize++;
			this._width += 10;
			this._height += 10;
			//jika lingkaran sudah mencapai besar yang maksimal
			if (this.changeSize>=4) {
				//tembakan empat peluru dan hapus lingkaran
				buatPeluru(this,1);
				buatPeluru(this,2);
				buatPeluru(this,3);
				buatPeluru(this,4);
				this.removeMovieClip();
			}
		}
	};
}
 
 
//untuk mengatur kecepatan gerak peluru
peluruSpeed = 5;
//untuk menampung peluru distage
_root.createEmptyMovieClip("peluruHolder",_root.getNextHighestDepth());
 
//fungsi untuk membuat peluru
function buatPeluru(target, type) {
	peluruStage++;
	var ID:Number = Math.random();
	//peluru keatas
	if (type == 1) {
		peluruHolder.attachMovie("peluru","peluru"+ID,peluruHolder.getNextHighestDepth(),{_x:target._x, _y:target._y});
		peluruHolder["peluru"+ID]._rotation = 90;
	}
	//peluru kekanan                              
	if (type == 2) {
		peluruHolder.attachMovie("peluru","peluru"+ID,peluruHolder.getNextHighestDepth(),{_x:target._x, _y:target._y});
	}
	//peluru kebawah                                 
	if (type == 3) {
		peluruHolder.attachMovie("peluru","peluru"+ID,peluruHolder.getNextHighestDepth(),{_x:target._x, _y:target._y});
		peluruHolder["peluru"+ID]._rotation = 90;
	}
	//peluru kekiri                                 
	if (type == 4) {
		peluruHolder.attachMovie("peluru","peluru"+ID,peluruHolder.getNextHighestDepth(),{_x:target._x, _y:target._y});
	}
	peluruHolder["peluru"+ID].onEnterFrame = function() {
		//gerakkan peluru berdasarkan type
		//bergerak keatas
		if (type == 1) {
			this._y -= peluruSpeed;
		}
		//bergerak kekanan
		if (type == 2) {
			this._x += peluruSpeed;
		}
		//bergerak kebawah
		if (type == 3) {
			this._y += peluruSpeed;
		}
		//bergerak kekiri 
		if (type == 4) {
			this._x -= peluruSpeed;
		}
		//hapus peluru jika keluar dari stage
		if (this._x<-50 || this._x>Stage.width+50 || this._y<-50 || this._y>Stage.height+50) {
			peluruStage--
			this.removeMovieClip();
		}
	};
}
 
//script untuk mengatur dan meletakan lingkaran distage
level = new Array();
level[0] = new Array(0, 0, 0, 0, 0, 3, 0);
level[1] = new Array(0, 1, 3, 1, 2, 2, 1);
level[2] = new Array(2, 2, 2, 0, 2, 2, 2);
level[3] = new Array(3, 2, 2, 1, 2, 2, 1);
level[4] = new Array(0, 2, 1, 0, 3, 3, 1);
level[5] = new Array(0, 2, 3, 1, 3, 1, 0);
level[6] = new Array(3, 0, 0, 3, 3, 1, 0);
//meletakan lingkaran berdasarkan level array
for (j=0; j<=6; j++) {
	for (i=0; i<=6; i++) {
		//lingkaran kecil
		if (level[j][i] == 1) {
			buatLingkaran(i*55+35,j*55+35,0);
		}
		//lingkaran sedang
		if (level[j][i] == 2) {
			buatLingkaran(i*55+35,j*55+35,2);
		}
		//lingkaran besar 
		if (level[j][i] == 3) {
			buatLingkaran(i*55+35,j*55+35,3);
		}
	}
}

12. Tekan Ctrl+Enter untuk melihat hasilnya.

Tekan lingkaran sampai pecah. Bisakan anda menghancurkan seluruh lingkaran dalam sekali tekan?

Sourcenya dapat di download di sini





Apakah tutorial di atas menarik atau bermanfaat bagi anda? Bantulah Warung Flash agar tetap ada dan memberikan tutorial-tutorial yang lebih bagus dan bermanfaat lagi. Silahkan klik link berikut ini untuk lebih jelasnya : Bantu Warung Flash



Bookmark and Share

16 Responses to “Ledakan Berantai”

  1. anjas Says:

    keren bro..

  2. doly Says:

    pertamax, dan bisa pecah semua hanya dengan sekali klik :))

  3. lionelmessi Says:

    wah..si admin beraksi lagi… <:-P

  4. yuda Says:

    mas,,bisa kasih tutorial cara bikin koin di game platform ga? aku pakenya as2

  5. buya Says:

    saikkkkkkk gannnn//// =DV =DV

  6. rizkahgn Says:

    gabisa! adanya 5x tekan :))

  7. captainAmerika Says:

    min request tutorial buat huruf Arab donk klo ga Sibuk hehe :respect:

  8. alex Says:

    gan ane mau tanya neh
    ane bikin tombol 1 sampai 10 neh gan…
    trus di setiap button 1 s/d 10 ane loadmovie gambar.swf…

    jadi ane temu kesulitan pas tombol 1 di klik itu keluar gambar ya tapi pas keluar gambar dia ga mau kembali ke menu button 1 sampai 10 itu gan atau halaman awal…

    itu bagaimana ya gan cara penyelesaian ya…?
    tolong di bantu gan… :hope:

  9. naufalsaurus Says:

    Asiik admin bangkit dari tidur panjangnya :D

  10. indra Says:

    bro cara nya bikin dinding pake array seperti di game Bomberman gimana ya?

  11. ika Says:

    jadi pengen cepet” nyoba nih!

    + mw request
    tolong tutorial bikin game buat hp lewat flash donk,
    pernah nyoba , jadinya tombol navigasi g fungsi, g bisa di mainin deh

    tolong ya…….. :D

  12. kovoid Says:

    yes, gue sekali tekan pecah smua gan,.
    :yeye:

  13. Dimas Says:

    ini keren minn,lagi dong buat modul belajar =DV :hope:

  14. Nanda thee convernat Says:

    =DV keren bgt sob

  15. indra oktaviano Says:

    ok gans ane udah jadi nih…. (y)
    :yeye:

  16. dede Says:

    keren admin nya wewewew =DV =DV =DV =DV :peace:

Leave a Reply

B-) =DV <:-P ;)) ;) :yeye: :respect: :peace: :p :idea: :hope: :I: :D :-SS :-? :-/ :)) :) :(( 8-> more »

Komentar yang berisi pertanyaan atau request tutorial kemungkinan besar tidak bisa kami jawab dan penuhi. Hal ini dikarenakan kesibukan kami yang padat . Oleh karena itu kami mohon maaf dan pengertiannya.