import javax.microedition.lcdui.game.*;
import javax.microedition.lcdui.*;
//ダブルバッファリングを行う(キャンバス)
public class DoubleBufferCanvas extends GameCanvas
implements Runnable {
Image image=null;//イメージ
//コンストラクタ
DoubleBufferCanvas() {
//キーイベントの抑制
super(true);
//画像ファイルの読み込み
try {
image=Image.createImage("/sorami.png");
} catch (Exception e) {
System.out.println(e.getClass().getName());
}
}
//実行
public void run() {
Graphics g=getGraphics();//グラフィック
int x =0;//X座標
int y =0;//Y座標
int dx=8;//X速度
int dy=5;//Y速度
while (true) {
//画面の描画
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.drawImage(image,x,y,g.VCENTER|g.HCENTER);
flushGraphics();
//移動
x+=dx;
y+=dy;
if (x<=0 || getWidth() <=x) dx=-dx;
if (y<=0 || getHeight()<=y) dy=-dy;
//スリープ
try {
Thread.sleep(100);
} catch (Exception e) {
}
}
}
}
|