当前页面: 开发资料首页 → J2ME 专题 → j2me 游戏开发的几个要点之一应用程序框架
j2me 游戏开发的几个要点之一应用程序框架
摘要: j2me 游戏开发的几个要点之一应用程序框架
j2me 游戏开发的几个要点之一应用程序框架
本站原创,转载清标注网址:www.j2mefans.com无论什么平台,程序运行都有一定的框架,如win32程序,所以j2me也不例外。对于j2me程序主要的应用程序类就是MIDlet了。
下面是一个典型的应用程序框架:(因为带有注释,所以我就不再细说了)
//*******************************
//文件名:gameMIDlet.java
//描述:j2me程序运行的基础
//********************************
//头文件
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
//MIDlet类
public class gameMIDlet extends MIDlet implements CommandListener {
//定义画布类,用来绘制图画
private OCanvas canvas;
public void startApp() {
if (canvas == null) {
canvas = new OCanvas(Display.getDisplay(this));
Command exitCommand = new Command("Exit", Command.EXIT, 0);
canvas.addCommand(exitCommand);
canvas.setCommandListener(this);
}
// Start up the canvas
canvas.start();
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {
//canvas.stop();
}
public void commandAction(Command c, Displayable s) {
if (c.getCommandType() == Command.EXIT) {
destroyApp(true);
notifyDestroyed();
}
}
}
/**
* 文件名:Ocanvas.java
* 画布类,该类继承自Canvas类,其中系统自动调用paint方法来从新绘制屏幕
*/
import javax.microedition.lcdui.*;
import java.io.*;
public class OCanvas extends Canvas
{
//定义变量
private Display display;
private Image title;
public OCanvas(Display d)
{
//类构造函数,初始化类变量
super();
display = d;
}
void start()
{
//在MIDlet类中调用
display.setCurrent(this);
repaint();//调用paint函数,刷新屏幕
}
//这里添加对屏幕的绘制
public void paint(Graphics g)
{
//清除屏幕
g.setColor(255, 255, 255);//设置白色
g.fillRect(0, 0, getWidth(), getHeight());//用白色填充屏幕
// 创建并载入图像
try
{
title = Image.createImage("/title.png");
}
catch (IOException e)
{
System.err.println("Failed loading images!");
}
//绘制图像
g.drawImage(title, 0, 0, Graphics.TOP | Graphics.LEFT);
}
}