Masih dengan topik membuat game perang-perangan dengan Code Block, kali ini ogut akan memberikan variasi sederhana atau trik sederhana, tetapi bermanfaat untuk membuat tampilan game rekan-rekan menjadi lebih yahut.
Artikel ini belum selesai ntar ogut terusin, karena ogut harus kembali kerja.....see you later
Artikel kali ini tidak akan menjelaskan cara untuk membuat peluru. Tapi ogut hanya memberikan ide variasi beberapa peluru pesawat yang dapat rekan-rekan buat. Ini sebagai tantangan bagi rekan-rekan untuk belajar. Jadi ogut tidak akan membahasnya dan tidak akan menulis artikelnya, serta tidak akan membagikan source code nya.
Salam rekan-rekan sekalian, ketemu lagi dengan ogut. Dan kali ini ogut masih akan menyambung tentang artikel terdahulu, yaitu artikel tentang membuat game dengan menggunakan compiler Code Block.
Kali ini topiknya adalah membuat peluru untuk pesawat jagoan agar pesawat bisa berperang.
Untuk membuat peluru tersebut caranya tidak susah-susah amat.
Ogut siapin typedef struct dan variable seperti di bawah ini.
Ini adalah fungsi void Jagoan_Fire() yang berguna untuk mengisi peluru, ingat ya posisi peluru tergantung dari posisi pesawat jagoan. Untuk lebih mudahnya perhatikan oret-oretan di bawah ini.
ABCD peluru tergantung dari posisi pesawat atau ABCD nya pesawat.
//isi peluru
void Jagoan_Fire()
{ int i;
for (i = 0; i < Total_Peluru_Jagoan; i++) { if (Peluru_Jagoan[i].aktif == 0) {
//menentukan posisi awal peluru //posisi awal peluru ditentukan oleh //posisi badan hely, pada saat hely //melepaskan peluru Peluru_Jagoan[i].Ax = ((Pesawat_Jagoan.Cx - Pesawat_Jagoan.Dx) / 2.0) + Pesawat_Jagoan.Dx - 15.0; Peluru_Jagoan[i].Bx = ((Pesawat_Jagoan.Cx - Pesawat_Jagoan.Dx) / 2.0) + Pesawat_Jagoan.Dx + 15.0; Peluru_Jagoan[i].Dx = Peluru_Jagoan[i].Ax; Peluru_Jagoan[i].Cx = Peluru_Jagoan[i].Bx;
Terakhir tampilkan peluru. Posisi peluru harus terus diupdate agar bergerak. Dan peluru yang ditampilkan hanya peluru yang aktif (Peluru_Jagoan[i].aktif == 1). Jika posisi peluru telah keluar dari layar game maka Peluru_Jagoan[i].aktif = 0.
for (i = 0; i <= Total_Peluru_Jagoan; i++)
{ //==============================================================================================
//=================================segiempat PELURU tarus disini \/ //tampilkan peluru mask
//ubah posisi peluru if (Peluru_Jagoan[i].aktif == 1) { Peluru_Jagoan[i].Ay = Peluru_Jagoan[i].Ay + 15.0; Peluru_Jagoan[i].By = Peluru_Jagoan[i].By + 15.0; Peluru_Jagoan[i].Cy = Peluru_Jagoan[i].Cy + 15.0; Peluru_Jagoan[i].Dy = Peluru_Jagoan[i].Dy + 15.0; }
//cek peluru aktif/ tidak if (Peluru_Jagoan[i].Ay > (double)(Ymax)) { Peluru_Jagoan[i].aktif = 0; }
if (Peluru_Jagoan[i].aktif == 1) { glEnable(GL_BLEND); glBlendFunc(GL_DST_COLOR, GL_ZERO);