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