Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Cara Membuat Game Android (Bagian Pertama)

Pada tutorial ini, kita akan belajar cara membuat game di Android dengan menggunakan Java applet (program berbasis bahasa pemograman Java) dan Eclipse. Tutorial ini akan dibagi ke dalam beberapa bagian. Game yang akan kita buat adalah sebuah game Q-bot (robot) sederhana.

Bagian pertama ini akan dibagi lagi ke dalam 5 (lima) tahap. Tahapannya adalah sebagai berikut:

TAHAP 1 MEMBUAT PAKET GAME
  • Buka Eclipse dan buat sebuah proyek Java, dengan cara klik kanan di Package Explorer >> New >> Java Project:

    image

Kita sebut saja nama game ini KiloboltGame (konsistensi dalam penamaan sangat penting untuk menghindari error). Untuk opsi JRE dapat dipilih versi 1.6 atau 1.7

image

Semua kode akan disimpan dalam folder src.
  • Buat paket game. Jangan lupa namanya harus konsisten yakni kiloboltgame, namun dalam huruf kecil. Paket tersebut berfungsi untuk mengelola class ke dalam struktur seperti struktur folder. Klik kanan pada paket baru tersebut dan buatlah sebuah class yakni StartingClass.

    image

Tahap selanjutnya adalah coding.

TAHAP 2 MENAMBAHKAN ‘METHODS’ DAN ‘EXTEND APPLET’

Langkah-langkahnya adalah sebagai berikut:

  • Tambahkan extendsApplet setelah StartingClass. Nantinya kita mendapatkan methods dari sebuah superclass melalui proses inheritance. Inheritance dalam Java adalah kondisi dimana eksistensi suatu object atau class bergantung pada object atau class lain.
  • Anda akan melihat garis merah dibawah applet. Impor applet dengan menekan Ctrl+Shift+O atau klik menu impor dengan menggunakan mouse
  • Sekarang anda dapat menambahkan methods berikut: init(), start(), stop(), destroy(). Metode-metode ini adalah bagian dari superclass Applet. Dengan mengimpor applet, anda dapat menggunakan methods tersebut
  • Cara mudah untuk menambahkan sebuah method adalah dengan menggunakan fungsi auto-complete. Ketik ‘init’ dan tekan Ctrl + Space. Kotak auto-complete akan muncul dan pilih fungsi init() yang pertama. Lakukan hal yang sama pada tiga metode pada poin 3 dan anda akan melihat:

    image
  • Tekan Ctrl + Shift + F untuk fungsi auto-organize code

Coba perhatikan gambar  berikut:

Package kiloboltgame;

import java.applet.Applet;

public class StartingClass extends Applet {

@Override
public void init() {
// TODO Auto-generated method stub
super.init();
}

@Override
public void start() {
// TODO Auto-generated method stub
super.start();
}

@Override
public void stop() {
// TODO Auto-generated method stub
super.stop();
}

@Override
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
}
}

Pada gambar tersebut ada empat method init(), start(), stop(), and destroy(). Keempat method ini adalah kerangka melakukan eksekusi pada class Applet. @Override berfungsi mengecek error saat kompilasi kode. Anda juga akan melihat kode ‘super’. ‘Super’ mengacu pada pada superclass.

TAHAP 3 MENJALANKAN THREAD

Thread adalah fungsi untuk menjalankan proses-proses yang terjadi secara simultan atau bersamaan. Cara menambahkan thread pada code adalah sebagai berikut:

@Override
public void start() {
Thread thread = new Thread();
thread.start();
}

Baris kedua dibawah @Override adalah statement membuat sebuah thread dan baris kedua adalah statement untuk memulai thread. Berikut contoh dari thread:

Thread thread = new Thread() {
public void run() {
for (int i = 0; i < 10; i += 2) {
System.out.println("hello");
}
}

};

Selanjutnya agar thread dapat berfungsi, anda memerlukan run method. Run method akan dibuat dengan cara berikut:

  • Tambahkan ‘implements Runnable’ seperti berikut:

    public class StartingClass extends Applet implements Runnable{…


    Lalu buat sebuah run() method dalam class dengan mengetikkan run, tekan Ctrl + Space dan pilih metode: run() : void.

    Saat menjalankan run method, akan muncul informasi berikut:

    image


Informasi tersebut menjelaskan: saat anda mengimplementasikan interface runnable, anda mendapatkan run method dari thread yang anda ciptakan.

Untuk menghubungkan run() method yang baru dan thread yang telah anda buat, lakukan langkah berikut:

  • Kembali pada start method:

    Thread thread = new Thread();

    lalu tambahkan “this” menjadi:

    Thread thread = new Thread(this);

    Hasilnya adalah seperti gambar dibawah:
    package kiloboltgame;

    import java.applet.Applet;

    public class StartingClass extends Applet implements Runnable {

    @Override
    public void init() {

    }

    @Override
    public void start() {
    Thread thread = new Thread(this);
    thread.start();
    }

    @Override
    public void stop() {
    // TODO Auto-generated method stub
    }

    @Override
    public void destroy() {
    // TODO Auto-generated method stub
    }

    @Override
    public void run() {
    // TODO Auto-generated method stub
    }
    }

TAHAP 4 MEMBUAT GAME LOOP

Game loop ibarat jantung sebuah game. Game loop berfungsi mengecek perubahan dan melakukan update secara periodik.

Dalam game Android yang akan kita buat, game loop akan melakukan fungsi berikut:

  1. Meng-update karakter;
  2. Meng-update environment;
  3. Mewarnai scene;
  4. Menjalankan sleep mode selama 17 milidetik.

Kenapa fungsi sleep mode penting? Kondisi ‘tidur’ selama 17 milidetik atau (1000/60) tiap kali game loop  dijalankan berarti game akan di-update setiap 17 milidetik (menghasilkan 60 updates per detik). Tentu saja hal ini bisa terjadi jika perangkat komputer mampu melakukan update tiap 17 milidetik. Jika komputer tidak mampu, kerja komputer malah jadi melambat.

Langkah-langkah membuat game loop adalah sebagai berikut:

  • Pada run() method dari ‘class’ kita akan menuliskan ‘true’:

    image
  • Tambahkan kode berikut didalamnya:repaint(); //

    menjadi:
    image
  • run() method akan menjadi seperti berikut:
    @Override
    public void run() {
    while (true) {
    repaint();
    try {
    Thread.sleep(17);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    }
    }

repaint(); berfungsi menjalankan paint method (method untuk menggambar obyek pada layar). Kita belum membuat suatu paint method, namun setiap 17 millidetik paint method akan dijalankan.

Jika kita melakukan kesalahan (seperti contoh Thread.sleep(17);dibawah, Java Compiler menunjukkan error tersebut dan kita harus mengelilingi  Thread.sleep(17) dengan statement Try dan Catch.

image

Try adalah kode saat mencoba melakukan fungsi tertentu seperti sleep. Sedangkan catch akan menyimpan informasi yang berkaitan dengan error yang terjadi.

Comments

  • edited June 2016
    Terimakasih sobat atas infonya, lumayan susah sih pantes developer indo cuman reskin doang tapi kok bisa ya ngakunya gamenya ? apa itu gak ilegal mengkalaim game ?
Sign In or Register to comment.