Game di Java dengan Menggunakan Netbeans
Cara membuat game dengan menggunakan Netbeans, sebaiknya menggunakan Netbeans 7.4. pastikan Netbeans telah terdapat Java ME dan memiliki Emulator Platform:1. Buka editor Netbeansnya.
2. Pilih File –> New Project, kemudian pilih Java ME –> Mobile Application, pilih Next lalu buat Nama Projectnya “LatihanGame”, lalu Next kemudian pada Device Profile pilih MIDP-2.0, lalu Next –> Finish
3. Buka Pojectnya, klik kanan pada Source Packages, lalu pilih New –> Java Package, lalu buat dengan nama Gambar, hal ini untuk membuat folder yang akan menampung gambar-gambar yang akan digunakan. Berikut 4 gambar yang akan digunakan

4. Kemudian buat folder “Game” untuk kodingannya, lakukan seperti langkah no.3
5. Klik kanan pada folder GameMonkey, lalu pilih New –> MIDlet, buat dengan nama GameMonkey
6. Lalu buat code pada GameMonkey seperti berikut
package Game;
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.*;
public class GameMonkey extends MIDlet {
Display dsp;
GameMonkeyEat gme;
public void startApp() {
dsp = Display.getDisplay(this);
try {
Splash();
Thread.sleep(2000);
} catch (InterruptedException e) {
}
Bermain();
}
public void Splash(){
Splash sp=new Splash();
dsp.setCurrent(sp);
}
public void Bermain(){
gme = new GameMonkeyEat(this);
dsp.setCurrent(gme);
}
public void pauseApp() {
pauseApp();
}
public void destroyApp(boolean unconditional) {
}
}
7. Klik kanan pada folder GameMonkey, lalu pilih New –> Java Class, buat dengan nama GameMonkeyEat
8. Lalu buat code pada GameMonkeyEat seperti berikut
package Game;
import java.io.IOException;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.Sprite;
public class GameMonkeyEat extends GameCanvas implements Runnable {
Graphics g = getGraphics();
Sprite obj, monkey, banana, cutter;
GameMonkey gamemonkey;
int posMonX = 100, posMonY = 230;
int posBanX = 209, posBanY = 0;
int posCutX = 100, posCutY = 2;
int score = 0;
int bgPos = 0;
int gravity = 5, jc = 12;
Image bg;
boolean startGame = true, jump = false;
public GameMonkeyEat(GameMonkey gm) {
super(true);
this.gamemonkey = gm;
setFullScreenMode(true);
try {
srcGambar();
fungsiWaktu();
} catch (IOException ex) {
ex.printStackTrace();
}
new Thread(this).start();
}
public int randBanana(int min, int max) {
Random randBnn = new Random();
int randomNum = randBnn.nextInt((max – min) + 1) + min;
return randomNum;
}
public void drawMonkey() {
monkey.paint(g);
if (jump) {
jc–;
if (jc == 0) {
gravity *= -1;
}
fungsiJumping();
}
monkey.setPosition(posMonX, posMonY);
}
public void drawBanana() {
posBanX = randBanana(5, 190);
banana.move(0, 10);
if (banana.getY() > 209) {
banana.setPosition(posBanX, posBanY);
}
banana.paint(g);
}
public void srcGambar() throws IOException { //method untuk tempat semua gambar
bg = Image.createImage(“/Gambar/bg.png”); //ini gambar background
monkey = new Sprite(Image.createImage(“/Gambar/Monkey.png”));
banana = new Sprite(Image.createImage(“/Gambar/Banana.png”));
}
protected void control() {
int tombol = getKeyStates();
if (tombol == RIGHT_PRESSED) {
posMonX += 5;
} else if (tombol == LEFT_PRESSED) {
posMonX -= 5;
} else if (tombol == UP_PRESSED) { //(tombol == UP_PRESSED && !jump)
jc = 12;
gravity = -6;
jump = true;
} else if (tombol == FIRE_PRESSED) {
gamemonkey.pauseApp();
} else if (tombol == DOWN_PRESSED) {
gamemonkey.destroyApp(false);
}
}
public void fungsiJatuhdanTambahScore() {
if (banana.collidesWith(monkey, true)) {
score += 10;
}
}
Timer timers;
int delay = 1000;
int period = 1000;
int waktu = 30;
public void fungsiWaktu() {
timers = new Timer();
timers.schedule(new TimerTask() {
public void run() {
waktu–;
if (waktu == 0) {
timers.cancel();
}
}
}, delay, period);
}
public void fungsiJumping() {
posMonY += gravity;
if (posMonY == 230) {
jump = false;
}
}
public void cekScore() {
if (score == 100) {
g.drawString(“YOU WIN !”, 100, 200, 0);
}
}
public void run() {
while (startGame) {
g.drawImage(bg, 0, bgPos, 0);
control();
g.drawString(“Time : ” + waktu, 30, 30, 0);
if (waktu == 0 && score <= 30) {
g.drawString(“Game Over”, 100, 200, 0);
banana.setVisible(false);
startGame = false;
} else if (score == 100) {
banana.setVisible(false);
startGame = false;
new Thread(this).interrupt();
}
drawMonkey();
drawBanana();
fungsiJatuhdanTambahScore();
cekScore();
g.drawString(“Score :” + score, 30, 60, 0);
flushGraphics();
try {
Thread.sleep(50);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
}
9. Klik kanan pada folder GameMonkey, lalu pilih New –> Java Class, buat dengan nama Splash
10. Lalu buat code pada Splash seperti berikut
package Game;
import java.io.IOException;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
public class Splash extends Canvas{
Image img;
public Splash(){
try {
img=Image.createImage(“/Gambar/Splash.png”);
} catch (IOException e) {
}
}
protected void paint(Graphics g) {
g.drawImage(img,0,0,0);
}
}
11. Kemudian Project dapat di jalankan dengan cara klik kanan pada projectnya LatihanGame, lalu pilih Run, maka akan terlihat seperti berikut

Lalu pilih Launch, lalu akan tampil sebagai berikut

***Selesai :D ***
Tidak ada komentar:
Posting Komentar