51testing 发表于 2007-11-30 18:12:24

在J2ME中实现游戏功能选择界面

在J2ME游戏中,显示了欢迎界面以后,就应该显示游戏的功能选择界面,实现该界面的方式主要有两种:
1、
使用高级用户界面中的List来进行实现
2、
使用Canvas类来自己绘制一个功能选择界面
为了达到更强的游戏表现效果,经常在开发过程中使用第二种方式来实现游戏功能选择界面。下面是一种实现了使用Canvas绘制功能选择界面的示例。
实现原理:在背景图片上绘制游戏的各个功能菜单,然后使用矩形框来代表用户选中的效果,并根据用户的选择实现选择框的上下移动,具体代码如下:
package welcomecanvas;

import javax.microedition.lcdui.*;

public class MainCanvas extends Canvas {

Image image = null;

/**代表选中项目的索引号码*/

int index = 1;


public MainCanvas() {

try{

image = Image.createImage("/res/menu.png");

}catch(Exception e){


}

}


protected void paint(Graphics g) {

//清屏

g.setColor(255,255,255);

g.fillRect(0,0,getWidth(),getHeight());

g.setColor(0,0,0);

//绘制图片

g.drawImage(image,0,0,Graphics.TOP | Graphics.LEFT);

//绘制矩形

g.drawRect(39,24 + (index - 1) * 30,100,27);

}

protected void keyPressed(int keyCode){

//按下的是数字键2

if(keyCode == Canvas.KEY_NUM2){

//判断是否移动到第一个选项

if(index == 1){

index = 4;

}else{


index--;

}

}

//按下的是数字键8

if(keyCode == Canvas.KEY_NUM8){

//判断是否移动到第四个选项

if(index == 4){

index = 1;

}else{

index++;

}

}

//重新绘制屏幕

repaint();

//如果按下数字键5

if(keyCode == Canvas.KEY_NUM5){

//根据选择的不同显示不同的界面

switch(index){

case 1:

break;

case 2:

break;

case 3:

break;

case 4:

CanvasMIDlet.quitApp();

}

}


}
}
页: [1]
查看完整版本: 在J2ME中实现游戏功能选择界面