Sabtu, 27 Februari 2016

Cara Membuat Game di Java dengan Menggunakan Netbeans

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
Monkey bg Banana Splash
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
java game1
Lalu pilih Launch, lalu akan tampil sebagai berikut
java game2
java game3***Selesai :D ***

Tidak ada komentar:

Posting Komentar