手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

在J2ME中实现游戏功能选择界面(附源代码)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
在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();
}
}

}
}

上一篇: 在J2ME中实现欢迎界面(附源代码)
下一篇: 学习心得:Java为什么支持反射机制?

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!