Rabu, 11 Februari 2009

Cara Membuat MidletThreadObject Java

percobaan 1
ThreadObject

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MidletThreadObject extends MIDlet {
private Display display;
private ThreadObjectCanvas threadCanvas = new ThreadObjectCanvas();
public void startApp() {
display = Display.getDisplay(this);
threadCanvas.start();
display.setCurrent(threadCanvas);
}
public Display getDisplay() {
return display;
}
public void pauseApp() { }
public void destroyApp(boolean unconditional) {
exit();
}
public void exit() {
threadCanvas.stop();
System.gc();
notifyDestroyed();
}
}

Percobaan 2
ThreadObjectCanvas

import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class ThreadObjectCanvas extends GameCanvas implements Runnable {
private boolean isPlay; // gambar akan berjalan apabila bernilai true
private long delay; // di beri nilai konstanta
private int currentX, currentY; // Pergerakan untuk koordinat 'X’ dan ‘Y'
private int width; // untuk lebar screean
private int height; // untuk tinggi screean
private int x=0;
private int sw=0;
//Konstruktor dan inisialisasinya
public ThreadObjectCanvas() {
super(true);
width = getWidth();
height = getHeight();
currentX = width / 2;
currentY = height / 2;
delay = 20;
}
// Method start dijalankan awal peggunaan thread dan di ulang-ulang
public void start() {
isPlay = true;
Thread t = new Thread(this);
t.start();
}
public void stop() {
isPlay = false;
}
// method run abstrak dari Runnable Mejalankan pertamakali pada graphics
public void run() {
Graphics g = getGraphics();

while (isPlay == true) {
x++;
if(x<-120) {
x=0;
}else{
x=x-5;
}
sw=1-sw;
drawScreen(g);
try { Thread.sleep(delay); }
catch (InterruptedException ie) { }
}
}
// Method drawScreen untuk menggambar Graphics
private void drawScreen(Graphics g) {
try {
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
Image image = Image.createImage("/gbr-bg.png");
g.drawImage(image, x, (getHeight()-image.getHeight())/2, Graphics.TOP | Graphics.LEFT);
String oby="";
if(sw==0) {
oby="/obyek1.png";
}else{
oby="/obyek2.png";
}
Image image2 = Image.createImage(oby);
g.drawImage(image2, 40, (getHeight()-image.getHeight())/2, Graphics.TOP | Graphics.LEFT);
}catch(Exception e){ }
flushGraphics();
}
}


Tidak ada komentar:

Posting Komentar