在 J2ME 中实现 游戏 功能选择界面 ( 附源代码 ) 作者:陈跃峰 出自: http://blog.csdn.net/mailbomb 在 J2ME 游戏中,显示了欢迎界面以后,就应该显示游戏" name="description" />
MILY: 宋体; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman"">在J2ME中实现游戏功能选择界面(附源代码) 作者:陈跃峰 出自:http://blog.csdn.net/mailbomb 在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(); } } } }