Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com 1
M
M
u
u
d
d
a
a
h
h
M
M
e
e
m
m
b
b
u
u
a
a
t
t
G
G
a
a
m
m
e
e
J
J
2
2
M
M
E
E
M.Octaviano Pratama
tavgreen008@gmail.com http://tavgreen.comPada Jaman modern sekarang, teknologi telah berkembang sangat pesat termasuk teknologi berbasis mobile phone. Di tahun-tahun sebelumnya, game hanya berkisar seputar alat komunikasi untuk „menelepon‟ atau mengirimkan pesan singkat saja. Namun pada saat ini, mobile phone telah berubah menjadi trend dan gaya hidup. Berbagai perangkat handphone telah dilengkapi dengan teknologi multimedia, office dan games.
Berbicara mengenai games di mobile phone, J2ME (Java 2 Mobile Edition ) masih cukup banyak digunakan oleh berbagai vendor mobile. Dalam tutorial singkat ini, akan dibahas langkah-langkah membuat game sederhana, disertai dengan sedikit teori mengenai J2ME dan banyak contoh mengenai praktek pembuatan aplikasinya.
Langkah – langkah
Sebelum membuat game, persiapkan terlebih dahulu software berikut:
Netbeans 6.9 or higher yang telah tersedia emulator J2ME
Mengenal J2ME
Pada bahasan pertama ini, saya akan membahas mengenai pembuatan project dan aplikasi J2ME sederhana. Untuk membangun aplikasi atau games berbasis J2ME, anda dapat menggunakan 2 buah akses User Interface(UI) yaitu Low Level User Interface dan High Level User Interface. Jika High level merupakan UI yang telah tersedia di sistem dan tinggal kita gunakan sedangkan low level merupakan UI yang harus kita desain lagi. Contoh UI High level adalah Alert,Form,Checkbox,ComboBox, dll yang tinggal kita panggil objectnya saja. Untuk low level disini kita harus menggambar layoutnya dengan memanfaatkan kelas canvas atau gamecanvas.
Buatlah projek baru dengan nama „J2ME1‟
Lisensi Dokumen:
Copyright © 2003-2012 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
2
Berikan nama projek „J2ME1‟ kemudian kedua buah checkbox jangan di ceklist. Jika telah selesai, klik finish.
Pada „default package‟ di project explorer, klik kanan kemudian „new -> Midlet‟. Kita akan membuat satu buah Midlet. Midlet hanya dimiliki oleh satu project yaitu
merupakan kelas yang pertama kali dibuka ketika user menjalankan aplikasi ini nantinya di device mobile.
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
3
Klik kanan lagi pada <default package> kemudian „new ->java class‟ berikan nama „utama.java‟
Double klik kelas Midlet dan utama. Kemudian perhatikan potongan script berikut di kelas midlet :
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
4
Terdapat 3 method di dalam class Midlet yaitu startApp,pauseApp dan destroyApp. Sesuai namanya, startApp merupakan method ketika pertama kali kita menjalankan aplikasi. Pause aktif ketika program dihentikan dan destroyApp aktif ketika Exit program. Sedangkan pada class Utama, hanya memiliki satu buah Construktor yaitu „public Utama‟. Di kelas inilah nantinya program dan game yang akan kita buat.
Isikan class Midlet dengan Program berikut :
Program diatas berarti kita menampilkan objek „ut‟ ke Display (Layar) dimana objek „ut‟ berasal dari instance „Utama‟.
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
5
Program diatas berarti: g.setColor(255,0,0);
memberikan set warna Red Aktif(255) g.drawRect(10, 10, 40, 40);
menggambar Rectangle dengan posisi X = 10 , Y = 10, SizeX=40 dan SizeY = 40 g.setColor(0,255,0);
memberikan set warna Green Aktif(255) g.fillRect(70, 10, 40, 40);
mengisi Rectangle dengan posisi X = 70 , Y = 10, SizeX=40 dan SizeY = 40 g.setColor(0,0,255);
memberikan set warna Blue Aktif(255) g.drawString("Menggambar Grafik", 30, 70, 0);
Menuliskan string “Menggambar Grafik” di layar dengan posisiX=30, PosisiY=70
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
6 Sebelum membuat game yang berkualitas, diharapkan anda sudah memahami cara kerja dari class canvas ini. Dikarenakan dalam pembuatan game kita menggunakan juga kelas canvas dan gamecanvas. Jika anda kesulitan dalam mengetahui sintak apa saja yang ada di java, gunakan fasilitas autocomplete code yaitu dengan cara menekan ctrl + spasi seperti berikut :
Perancangan Game
Untuk membuat game yang baik, ada baiknya kita melihat contoh game yang telah ada sebelumnya. Biasanya didalam game terdapat beberapa element yaitu :
- Splash Screen, merupakan halaman yang muncul beberapa detik pada saat kita membuka game.biasanya splash screen memunculkan pembuat game/perusahaan game - Menu, merupakan navigasi menuju permainan, setting,petunjuk dll
- Setting, konfigurasi game seperti level permainan - Petunjuk, cara penggunaan game
- Game, memulai game
Buatlah 5 kelas dengan nama diatas pada project „J2ME‟. Disertai dengan package „resource‟ seperti berikut :
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
7 Berikut merupakan alur dari game yang akan dibuat :
Splash Screen
Splash screen merupakan screen yang muncul selama beberapa detik sebelum masuk ke menu utama. Untuk membuat splash screen dibutuhkan satu buah thread untuk dapat memberikan jeda beberapa detik. Berikut ScreenShot dari Splash :
Copykan file splash.png anda kedalam Package Resource, kemudian isikan Class Splash.java sebagai berikut :
Midlet Splash
Menu Setting
Petunjuk
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
8
Program diatas merupakan program untuk menggambar image yang berasal dari file di „resource/splash.png‟. Isilah file Midlet anda dengan program dibawah ini :
Menu
Menu yang akan kita buat muncul setelah splash screen muncul selama 3 detik. Bukalah Class Midlet.Java dan ubah kode yang lama menjadi seperti berikut :
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
9 Keterangan :
- Method splash berfungsi untuk menginstance class Splash dan menampilkan di display. - Diberikan thread sleep sebesar 50 ms untuk splash screen kemudian dilanjutkan dengan
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
11 Keterangan :
- public Menu(Midlet m), konstruktor Menu diisi dengan parsing by reference Midlet yang berasal dari kelas midlet.
- setFullScreenMode(true);, merubah display menjadi full screen menu
- this.m = m;, mengisi object m yang ada di class Menu(this) dengan m yang berasal dari class Midlet
- background = Image.createImage("resource/bg_menu.png");merupakan inisialisasi variable background dengan nama image = bg_menu.png
- imgOn[i] = Image.createImage("resource/images_on_" + i + ".png"); merupakan baris yang menginisialisasi tiap gambar(total 4 gambar)
- new Thread(this).start();memulai threa
- g.drawImage(background, 0, 0, 0);menggambar image di object graphic untuk kemudian ditampilkan di display
- if (posisi == i) { g.drawImage(imgOn[i], 40, 55 * i + 60, 0); } , jika posisi(variable pembantu) sama dengan posisi looping, maka draw image yang bertipe on.
- protected void keyPressed(int keyCode) merupakan method untuk menampung apa saja yang dilakukan oleh tombol / keypad mobile phone, hasilnya dikirim ke parameter dengan variable keyCode.
- if ((keyCode == -2 || keyCode == 56) && posisi != 3) posisi++; Jika keycode sama dengan -2 (tombol keypad atas) dan keycode sama dengan 56(tombol keypad nomor 8) dan posisi tidak lebih dari 3(akhir image), maka posisi ditambah 1
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
12
Petunjuk,Setting & Tentang
Untuk menu ini, anda dapat mengexplorasi sesuai dengan kreasi anda dengan bantuan class canvas. Misalnya seperti contoh berikut di menu tentang :
Untuk membuat button back, anda dapat menginstance class Command seperti berikut : private Command back = new Command("Back", Command.BACK, 1);
public void commandAction(Command c, Displayable d) { if(c==back)
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com 13 m.menu(); } }
Game Utama
Game ini bertema GatotKaca Runner. Yaitu game trial berdurasi 30 detik dimana gatotkaca berperang melawan musuhnya. Berikut cuplikannya :
Konsep dari game :
- Background awan akan jalan dari kanan ke kiri. Ketika image habis, maka akan direfresh dengan image baru sehingga image tidak akan terputus dan terus bergerak - Terdapat 2 karakter yaitu gatotkaca(kanan) dan musuh(kiri) ketika gatotkaca
menyerang(tekan tombol 5/tengah), maka roket akan keluar
- Jika musuh terkena roket, maka score akan bertambah secara random
- Limit waktu yang diberikan selama 30 detik. Jika telah habis, maka game akan keluar. Berikut list programnya :
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
17
Installasi Aplikasi di Device Mobile
Semua contoh program diatas menggunakan device dengan layar 240(width) x 320(height) sehingga apabila device anda berlayar resolusi lain maka anda harus merubah source code terutama posisi X dan Y. Untuk mendownload program ke device anda, tekan Shift + F11 (Clean and Build) kemudian masuk ke folder dist pada project anda kemudian copykan file .Jad dan .Jar ke device Mobile anda.
Penutup
Dalam penyusunan E-book ini, penulis mengucapkan terima kasih kepada rekan-rekan dari batch6 ITB – Seamolec dan tim pengajar dari Seamolec khususnya mas Abdul Rizal Adompo yang telah membantu dalam penyampaian materi kepada penulis sehingga penulis dapat menyelesaikan E-Book ini. Penulis juga menyadari banyaknya kekurangan, oleh karena itu penulis mengharapkan mendapat kritik dan saran agar penulis dapat menyusun E-book lainnya dengan lebih baik lagi. Apabila pembaca terdapat kesulitan dalam mengaplikasikan materi-materi yang telah diulas sebelumnya, silahkan menghubungi penulis di
http://tavgreen.com. Untuk Source Code dari E-Book ini dapat didownload di
http://octavianopratama.wordpress.com .Nantikan E-book selanjutnya “Game Development
Android” yang sedang penulis selesaikan.
Referensi
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com
18 Anda dapat menghubungi penulis pada alamat dibawah :
http://www.tavgreen.com tavgreen008@gmail.com