Praktek 3 Game PimPong : Menambahkan Bolla menggunakan Sprite

17.18 Diposting oleh Gunawan

Pada praktek sebelumnya yaitu Praktek 2 Game Pimpong : membuat Background, kita sudah berhasil mengubah tampilan layer dengan warna hitam. Pada praktek kali ini kita akan mencoba menambahkan bolla di tengah-tengah layer yang akan selalu bergerak selama aplikasi di jalankan.

Merencanakan Gambar Bolla

Ok… pertama-tama kita harus merencanakan gambar bola yang akan di letakan di layar. Pada praktik ini saya akan mencoba membuat sebuah bola warna putih ukuran 3 X 3 pixel, ingat 3 X 3 Pixel. Jika anda kreatif membuat gambar bola silahkan kreasi sendiri, tapi perlu di ingat untuk praktek kali ini ukurannya 3 x 3 pixel.

Berikut gambar bola ukuran 3 X 3 Pixel : download di sini (Klik kanan lalu klik Save target As..)

Silahkan download dan simpan gambar tesebut ke dalam folder “res” di drive C:/WTK25/APPS/GamePimpong/res.
Setelah gambar tersimpan buka kembali file PongCanvas.java, kemudian tambahkan script-script berikut sehingga menjadi seperti berikut :

/* -------------------------------------

* Nama File : PongCanvas.java

* by Gunawan

* jagungodak@yahoo.com

*--------------------------------------

*/

import java.io.IOException;

import javax.microedition.lcdui.Graphics;

import javax.microedition.lcdui.Image;

import javax.microedition.lcdui.game.GameCanvas;

import javax.microedition.lcdui.game.Sprite;

public class PongCanvas extends GameCanvas implements Runnable {

private int sleepTime=30;

private Image ballImg;

private Sprite ballSprite;

private int ballX = getWidth()/2;

private int ballY = getHeight()/2;

public PongCanvas() {

super(false);

}

public void run(){

while(true){

updateScreen(getGraphics());

try{

Thread.sleep(sleepTime);

}catch(Exception ex){

}

}

}

public void start(){

try{

ballImg=Image.createImage("/face.png");

}catch(IOException ioex){

System.out.println("Kesalahan Pada Image"+ioex);

}

ballSprite=new Sprite(ballImg);

ballSprite.defineReferencePixel(2, 2);

ballSprite.setRefPixelPosition(ballX, ballY);

Thread runner=new Thread(this);

runner.start();

}

private void createBackground(Graphics g){

g.setColor(0x000000);

g.fillRect(0, 0, getWidth(), getHeight());

}

private void updateScreen(Graphics g){

createBackground(g);

ballSprite.setRefPixelPosition(ballX , ballY);

ballSprite.paint(g);

flushGraphics();

}

}



Perhatikan baris yang berwarna merah. Baris tersebut merupakan baris penambahan dari class PongCanvas atau file PongCanvas.java.

import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;

Potongan script diatas merupakan class java yang bermanfaat saat kita meletakan gambar di atas Canvas menggunakan Sprite. Sedangkan perintah pemanggilan gambar untuk di letakan ke dalam canvas berupa Sprite yaitu :
try{
ballImg=Image.createImage("/face.png");
}catch(IOException ioex){
System.out.println("Kesalahan Pada Image"+ioex);
}
ballSprite=new Sprite(ballImg);
ballSprite.defineReferencePixel(2, 2);
ballSprite.setRefPixelPosition(ballX, ballY);

HAsil akhir dari game setelah melakukan penambahan seperti diatas seperti gambar di bawah ini.



Membuat Gambar Bola bergerak.
Alangkah tidak sempurnanya jika bola tersebut tidak bergerak, oleh karenanya beriku akan di jelaskan tehnik menggerakan gambar bola dari hasil penambahan sprite image di atas. Langkah-langkah yang perlu dilakukan :
1. Menambahkan variable-variabel yang dibutuhkan
2. Membuat Methode untuk menjalankan bola
3. Memanggil methode menjalankan bola melalui methode updateScreen()

Ok… kita langsung saja membuka file PongCanvas.java dan lakukan perubahan sesuai dengan script di bawah :

/* -------------------------------------

* Nama File : PongCanvas.java

* by Gunawan

* jagungodak@yahoo.com

*--------------------------------------

*/



import java.io.IOException;

import javax.microedition.lcdui.Graphics;

import javax.microedition.lcdui.Image;

import javax.microedition.lcdui.game.GameCanvas;

import javax.microedition.lcdui.game.Sprite;

public class PongCanvas extends GameCanvas implements Runnable {

private int sleepTime=30;

private Image ballImg;

private Sprite ballSprite;

private int ballX = getWidth()/2;

private int ballY = getHeight()/2;

private final static int ballXVel=3;

private final static int ballYVel=1;

public PongCanvas() {

super(false);

}

public void run(){

while(true){

updateScreen(getGraphics());

try{

Thread.sleep(sleepTime);

}catch(Exception ex){

}

}

}

public void start(){

try{

ballImg=Image.createImage("/face.png");

}catch(IOException ioex){

System.out.println("Kesalahan Pada Image"+ioex);

}

ballSprite=new Sprite(ballImg);

ballSprite.defineReferencePixel(2, 2);

ballSprite.setRefPixelPosition(ballX, ballY);

Thread runner=new Thread(this);

runner.start();

}

private void createBackground(Graphics g){

g.setColor(0x000000);

g.fillRect(0, 0, getWidth(), getHeight());

}

private void updateScreen(Graphics g){

createBackground(g);

moveBall;

ballSprite.setRefPixelPosition(ballX , ballY);

ballSprite.paint(g);

flushGraphics();

}

public void moveBall(){

ballX += ballXVel;

ballY += ballYVel;

}

}


Ok… dengan script di atas bola akan bergerak ke kanan miring ke bawah sampai dia menghilang. :D gak usah kuatir itu Cuma script dasar menggerakan bola script lengkapnya silahkan di lanjut ke Praktek 4 Game Pimpong : Colision Detection

1 komentar:

  1. Anonim mengatakan...

    Waow,
    spertinya seru,
    kalo game seperti petualangan gt bisa ngga ya?
    aku dr dulu pngen bgt bkin game petualangan,
    hhehehe,
    ajarin donk mas,
    aku msh dasar banget,
    ngga ngerti script gtuan,
    cman bsa bkin ebook aja.

Posting Komentar