Rabu, 11 April 2012

Membuat Animasi pada Canvas dalam J2ME

Assalammu'alaikum...

Pada Kesempatan kali ini, marilah kita bersama-sama membuat sebuah aplikasi Animasi pada Canvas dalam J2ME. pada dasarnya animasi itu adalah bentuk dinamisasi tampilan terhadap waktu.
Pada Aplikasi ini kita membutuhkan 2 kelas yang berbeda.
kelas pertama bernama Animasi1.java dan kelas yang kedua bernama Animasi2.java.

berikut Listing program  Animasi1.java

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
* @author Galih Abdul Fatah
*/
public class Animasi1 extends MIDlet implements CommandListener {
private Display layar;
private Animasi2 animasi2;
private Command keluar=new Command("Keluar", Command.EXIT, 1);

public Animasi1(){
animasi2=new Animasi2();
animasi2.addCommand(keluar);
animasi2.setCommandListener(this);

}
public void startApp() {
if(layar==null){
layar=Display.getDisplay(this);
layar.setCurrent(animasi2);
}
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable d) {
if(c==keluar){
notifyDestroyed();
destroyApp(true);
}
}
}

==================

dan berikut ini Listing Program Animasi2.java
import javax.microedition.lcdui.*;

/**
* @author Galih Abdul Fatah
*/
public class Animasi2 extends Canvas implements Runnable {
private int a,b,x,y,i;
public Animasi2(){
a=getWidth();b=getHeight();
x=a/20; y=b/20;
}
protected void showNotify() {new Thread(this).start();}
protected void paint(Graphics g) {
g.setColor(100, 100, 100);
g.fillRect(0, 0, a, b);
g.setColor(0, 0, 64);
g.fillRect(30, 30, a-60, b-60);
g.setColor(100, 100, 100);
int ix=i*x;
int iy=i*y;
g.fillRect(0, 0, a/2-ix, b);
g.fillRect(a/2+ix, 0, a/2-ix, b);
g.fillRect(0, 0, a, b/2-iy);
g.fillRect(0, b/2+iy, a, b/2-iy);

}

public void run() {
try{
while(i<=10){
Thread.sleep(90);
i++;repaint();
}
}catch(InterruptedException e){}
}
}



berikut ini adalah Tampilan Outputnya :


0 komentar:

Posting Komentar