51Testing软件测试论坛
标题:
在J2ME中实现游戏功能选择界面
[打印本页]
作者:
51testing
时间:
2007-11-30 18:12
标题:
在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();
}
}
}
}
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2