⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testmovecanvas.java

📁 《Java程序设计实践教程》代码
💻 JAVA
字号:
/* 本示例为移动物体 */
import java.io.*;
import java.util.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.midlet.*;
import javax.microedition.media.control.*;

public class TestMoveCanvas extends Canvas 
{
	private TestMove midlet;
    private MoveObj moveObj;
    private Image image;
    private boolean begin; 
 
	public TestMoveCanvas(TestMove midlet)
	{
		this.midlet=midlet;
        moveObj=new MoveObj();
        //设置移动速度,以像素为单位
        moveObj.changeVelocity(3);  
        //设置物体初始位置(居中)
        moveObj.MoveObjAt(getWidth()/2,getHeight()/2);  
        //加载作为封面首页图片
		try{ image=Image.createImage("/icons/zsm.jpg");  }
		catch(IOException ioe){ ioe.printStackTrace();	 }
		begin=false;
    }

  public void paint(Graphics g)
	{ 
	  /* 判断是否点击了"开始游戏",
      *  若点击了"开始游戏",则调用moveObj类的paint( )方法,
	  *  否则,则显示封面图片。
	  */
	  if (begin)   //begin的值由主类Zsm的commandAction()控制。
	   {
           g.setColor(0,255,255);      //设置为淡蓝色  
	       g.fillRect(0,0,getWidth(),getHeight());
		   moveObj.paint(g);  //绘制移动对象
		}	
      else  
        {   //  绘制封面图片
           g.drawImage(image,getWidth()/2,getHeight()/2,
	                    Graphics.VCENTER|Graphics.HCENTER);
         }
	}
	
  public void beginning( boolean b )  
    {
	  //控制游戏开始,该方法由主类TestMove的commandAction()调用。
		begin = b;
		repaint();       //起刷新画面作用
	}

  protected void keyPressed(int keyCode)  //按键事件
	{
	 if(begin)  //该条件用于防止尚未点击"开始游戏",就触发键盘。
	 {	
       switch (getGameAction(keyCode) )
         {
            case UP://向上移动
		       {
		          moveObj.goUp();
			      repaint();
			      break;
		        }
	         case DOWN:  //向下移动
		        {
                   moveObj.goDown();
                   repaint();
			       break;
		         }
             case LEFT:  //向左移动
	    	  {
		        moveObj.goLeft();
		    	repaint();
			    break;
		      }
	          case RIGHT:  //向右移动
		         {
                    moveObj.goRight();
                    repaint();
        			break;
		         }      
              default : {      }
    }
      }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -