import java.io.IOException;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
public class myC extends Canvas implements Runnable {
private Image im[] = null;
private int flag = 0;
private int time = 0;
public myC() {
this.setFullScreenMode(true);
im = new Image[6];
for (int i = 1; i < 7; i++) {
try {
im[i - 1] = Image.createImage("/pic" + i + ".png");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Thread t = new Thread(this);
t.start();
}
protected void paint(Graphics g) {
if (flag < 7)
time++;
// TODO Auto-generated method stub
g.setColor(0);
g.setClip(0, 0, 240, 320);
g.fillRect(0, 0, 240, 320);
switch (flag) {
case 0:
g.setClip(120 - 3 * time, 160 - 4 * time, 6 * time, 8 * time);
g.drawImage(im[flag], 0, 0, 0);
if (8 * time > 240) {
time = 0;
flag++;
}
break;
case 1:
g.drawImage(im[flag], 0, 0, 0);
g.setClip(3 * time, 4 * time, 240 - 6 * time, 320 - 8 * time);
g.drawImage(im[flag - 1], 0, 0, 0);
if (6 * time > 240) {
time = 0;
flag++;
}
if (3 * time > 240) {
time = 0;
flag++;
}
break;
case 2:
g.drawImage(im[flag - 1], 0, 0, 0);
g.setClip(0, 0, 6 * time, 8 * time);
g.drawImage(im[flag], 0, 0, 0);
if (6 * time > 240) {
time = 0;
flag++;
}
break;
case 3:
g.drawImage(im[flag - 1], 0, 0, 0);
for (int i = 0; i < 4; i++) {
g.setClip(i * 60, 0, 1 * time, 320);
g.drawImage(im[flag], 0, 0, 0);
}
if (1 * time > 60) {
time = 0;
flag++;
}
break;
case 4:
g.drawImage(im[flag - 1], 0, 0, 0);
for (int i = 0; i < 8; i++) {
g.setClip(0, i * 40, 240, 1 * time);
g.drawImage(im[flag], 0, 0, 0);
}
if (1 * time > 40) {
time = 0;
flag++;
}
break;
case 5:
g.drawImage(im[flag - 1], 0, 0, 0);
for (int i = 0; i < 4; i++) {
g.setClip(i * 60, i * 80, 3 * time, 4 * time);
g.drawImage(im[flag], 0, 0, 0);
}
if (1 * time > 80) {
time = 0;
flag++;
}
break;
case 6:
g.drawImage(im[flag - 1], 0, 0, 0);
g.setClip(0, 0, 3 * time, 4 * time);
g.drawImage(im[3], 0, 0, 0);
g.setClip(240 - 3 * time, 0, 3 * time, 4 * time);
g.drawImage(im[3], 0, 0, 0);
g.setClip(0, 320 - 4 * time, 3 * time, 4 * time);
g.drawImage(im[3], 0, 0, 0);
g.setClip(240 - 3 * time, 320 - 4 * time, 3 * time, 4 * time);
g.drawImage(im[3], 0, 0, 0);
if (time > 40) {
time = 0;
flag++;
}
break;
default:
g.drawImage(im[0], 0, 0, 0);
break;
}
}
public void run() {
// TODO Auto-generated method stub
while (true) {
repaint();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class myM extends MIDlet {
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
myC mc = new myC();
Display.getDisplay(this).setCurrent(mc);
}
}