Ini adalah tutorial pembuatan game top down shooter . Setelah membuat beberapa jenis tembakan, kita bisa membuat tiap
peluru memiliki kekuatan yang berbeda. Lalu untuk memanfaatkan fitur
tersebut, kita perlu membuat musuh lebih kuat, sehingga tidak akan mati
dalam satu kali tembak.
Menambahkan nyawa musuh
Biasanya kita menyimpan suatu nilai menggunakan variabel global,
namun karena jumlah musuh dalam permainan tidak tentu, kita tidak bisa
menggunakan variabel global. Jika kita menggunakan variabel global,
kita tidak bisa menghubungkan suatu nilai dengan objek musuh yang kita
munculkan secara dinamis di tengah permainan. Ada satu jenis variabel
lain, yaitu ‘instance variable’, variabel yang nilainya disimpan di
setiap objek. Nilai yang disimpan di setiap objek bisa berbeda,
tergantung apa yang terjadi dengan objek tersebut.
Berikut adalah contoh kasus yang mungkin terjadi: Ada dua musuh
dengan jenis yang sama, kita sebut musuh A dan B, masing-masing memiliki
nyawa awal 5. Musuh A terkena tembakan pemain sebanyak 3 kali,
sedangkan musuh B lolos dari semua tembakan pemain. Di titik ini, musuh A
dan B memiliki nilai nyawa yang berbeda, nyawa musuh A tinggal 2
sedangkan musuh B memiliki nyawa penuh.
Menambahkan instance variable
- Klik kanan objek Musuh di project tree > Instance variable > pilih tombol tambah (+) untuk membuat variabel baru > Isi nama variabel misalnya dengan ‘nyawa’, jenisnya number, dan isi nilai awal dengan 5. Nilai yang kita masukkan akan menjadi nyawa awal untuk setiap objek yang nantinya dimunculkan dalam permainan.
- Kita bisa menggunakan nilai ini dalam area isian dengan menulis “Musuh.nyawa”, yang sebenarnya berarti “nilai variabel bernama nyawa pada objek Musuh”. Nilai ini akan diambil dari objek yang sedang diproses dalam event, misalnya dalam event tabrakan musuh dengan peluru.
Kekuatan peluru
Karena kita menyimpan jenis peluru yang berbeda dalam objek yang sama
namun dalam frame berbeda, kita bisa menggunakan nomor frame sebagai
penanda kekuatan peluru. Cara ini adalah cara yang paling sederhana,
tapi ada beberapa hal yang nantinya perlu kita pertimbangkan:
- Sesuaikan kekuatan peluru dengan tampilan peluru yang bersangkutan, misalnya peluru yang lebih kuat adalah yang terlihat lebih tebal atau besar.
- Sesuaikan kombinasi peluru dalam tembakan pemain agar kekuatannya tidak berlebihan. Contoh variasi tembakan yang kita buat sebelumnya memiliki peluru kuat yang terlalu banyak. Idealnya pemain diberi variasi tembakan kuat dengan peluru yang sedikit atau tembakan menyebar dengan peluru yang kekuatannya lebih rendah.
Mengurangi nyawa musuh
Sekarang kita perlu memodifikasi event agar musuh tidak langsung
hancur saat terkena peluru. Nyawa musuh akan berkurang sesuai dengan
kekuatan peluru. Pada event tabrakan musuh dan peluru, kita perlu ubah
aksinya menjadi sebagai berikut:
- Aksi pertama adalah menghancurkan peluru, kita bisa gunakan aksi yang sama dari tutorial sebelumnya.
- Aksi kedua adalah mengurangi nyawa musuh, Add action > pilih objek Musuh > Subtract from > pilih variabel nyawa yang baru kita buat, isi nilainya dengan “Peluru.AnimationFrame+1″. Kita perlu menambahkan dengan nilai 1 karena frame animasi dimulai dari indeks nol.
Event hancurnya musuh
- Buat subevent pada event tabrakan sebelumnya, tekan S (Add subevent) > pilih Musuh > “Compare instance variable” > pilih nyawa, pilih simbol “less than or equal” dan isi nilai dengan angka 0.
- Tambah atau pindahkan aksi menghancurkan musuh ke event ini. Add action > Musuh > Destroy.
- Jangan lupa untuk memindahkan event memunculkan power up menjadi subevent dari event di langkah sebelumnya. Lihat gambar untuk referensi hasl akhir event yang kita buat.
Selamat mencoba semoga berhasil :D
Sumber : Gedebuk.org
Tidak ada komentar:
Posting Komentar