📄 gamecanvas.java~1~
字号:
import com.nokia.mid.ui.FullCanvas;
import javax.microedition.lcdui.*;
import java.io.*;
import java.util.Timer;
import javax.microedition.rms.*;
public class GameCanvas extends FullCanvas implements Runnable {
Time1MIDlet maingameMIDlet;
Base Scene; //界面类
Thread mainThread; //主线程
int intNowState;
int intState;
int key = 0;
long LongNowFPS;
int timeLong = 600;
int intFPS;
int intWidth;
int intHeight;
public GameCanvas(Time1MIDlet gamecanvas) {
maingameMIDlet = gamecanvas;
intWidth = getWidth();
intHeight = getHeight();
intFPS = 150;
intState = intNowState = 0;
Scene = new Logo(this);
mainThread = new Thread(this);
mainThread.start();
}
public void exit() {
Scene.Release();
intNowState = -1;
System.gc();
}
public void Release() {
if (Scene != null) {
Scene.Release();
System.gc();
}
mainThread = null;
}
protected void paint(Graphics graphics) {
if (Scene != null) {
Scene.Display(graphics);
}
String drawSt;
}
protected void keyPressed(int keyCode) {
this.key = keyCode;
}
protected void keyReleased(int key) {
this.key = 0;
}
public void run() {
Thread currentThread = Thread.currentThread();
while (currentThread == mainThread) {
long StratTime = System.currentTimeMillis();
GetScene();
if (Scene != null) {
Scene.Update();
Scene.keyProcess(key);
this.repaint();
long EndTime = System.currentTimeMillis();
LongNowFPS = StratTime - EndTime;
if (LongNowFPS < intFPS) {
try {
mainThread.sleep(intFPS - LongNowFPS);
} catch (InterruptedException ex) {}
}
}
}
}
private void GetScene() {
if (intNowState != intState) {
Scene.Release();
Scene = null;
System.gc();
switch (intState) {
case -1:
maingameMIDlet.quitApp();
break;
case 0:
Scene = new Logo(this);
intNowState = 0;
break;
// case 1:
// Scene = new Menu(this);
// intNowState = 1;
// break;
// case 2:
// Scene = new QianYan(this);
// intNowState = 2;
// break;
// case 6:
// Scene = new Mian0(this);
// mian = 1;
// intNowState = 6;
// break;
// case 7:
// Scene = new Mian1(this);
// mian = 2;
// intNowState = 7;
// break;
// case 8:
// Scene = new Tu(this);
// mian = 3;
// intNowState = 8;
// break;
// case 9:
// Scene = new Mu(this);
// mian = 4;
// intNowState = 9;
// break;
// case 10:
// Scene = new Lei(this);
// mian = 5;
// intNowState = 10;
// break;
// case 11:
// Scene = new Huo(this);
// mian = 6;
// intNowState = 11;
// break;
// case 12:
// Scene = new Feng(this);
// mian = 7;
// intNowState = 12;
// break;
// case 13:
// Scene = new Guang(this);
// mian = 8;
// intNowState = 13;
// break;
// case 14:
// Scene = new An(this);
// mian = 9;
// intNowState = 14;
// break;
// case 15:
// Scene = new Mian9(this);
// intNowState = 15;
// break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -