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

📄 pandacanvas.java

📁 一个简单的j2me编写的ACT游戏
💻 JAVA
字号:
import java.io.IOException;
import java.util.Vector;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;


public class PandaCanvas extends Canvas{
//	MIDP2.0按键数值
	public static final byte AVK_UP = -1;
	public static final byte AVK_DOWN = -2;
	public static final byte AVK_LEFT = -3;
	public static final byte AVK_RIGHT = -4;
	public static final byte AVK_SELECT = -5;
	public static final byte AVK_SOFT1 = -6;
	public static final byte AVK_SOFT2 = -7;
	public static final byte AVK_C = -8;
	public static final byte AVK_BACK = -11;
	public static final byte AVK_0 = 48;
	public static final byte AVK_1 = 49;
	public static final byte AVK_2 = 50;
	public static final byte AVK_3 = 51;
	public static final byte AVK_4 = 52;
	public static final byte AVK_5 = 53;
	public static final byte AVK_6 = 54;
	public static final byte AVK_7 = 55;
	public static final byte AVK_8 = 56;
	public static final byte AVK_9 = 57;
	public static final byte AVK_STAR = 42;
	public static final byte AVK_POUND = 35;
	
//	MIDP2.0API翻转参数
	public static final int TRANS_NONE = Sprite.TRANS_NONE;
	public static final int TRANS_ROT90 = Sprite.TRANS_ROT90;
	public static final int TRANS_ROT180 = Sprite.TRANS_ROT180;
	public static final int TRANS_ROT270 = Sprite.TRANS_ROT270;
	public static final int TRANS_HORIZONTAL = Sprite.TRANS_MIRROR;
	public static final int TRANS_VERTICAL = Sprite.TRANS_MIRROR_ROT180;
	
//	方向常量
	public static final byte DIR_NONE = -1;
	public static final byte DIR_UP = 0;
	public static final byte DIR_LEFT = 1;
	public static final byte DIR_DOWN = 2;
	public static final byte DIR_RIGHT = 3;
	
//	云的宽度和高度
	public static int CLOUDW,CLOUDH;
	
//	云数据
    public static int[][] CLOUD;
//	屏幕宽高
	public static int SCREENW,SCREENH;
//	重力加速度(修正)
	public static byte G = 6;
	
	public static Panda panda;
	
	public PandaMIDlet m_Mid;
	public Thread t;
//	线程控制开关
	public boolean m_IsThreadRun = true;
//	游戏时间统计
	static int m_Cnt_Time;
//	地图列数、行数、宽度、高度
	public static int mapCol,mapRow,mapW,mapH;
//	地平线高度
	public static int skyLine;
//	键值
	int m_KeyCode;
//	关卡ID
	int m_Level = 0;
//	障碍物数据
	public static int[][] collides;
	public static int[][] barrier;
//  云图片
	public static Image img_Cloud;
	public static Image img_Panda;
	public static Image img_Barrier;
	
	public PandaCanvas(PandaMIDlet mid) {
		setFullScreenMode(true);
		m_Mid = mid;
//		获得屏幕宽高
		SCREENW = getWidth();
		SCREENH = getHeight();
		Camera.width = SCREENW;
		Camera.height = SCREENH;
		initRes();
		
//		游戏主线程
		t = new Thread(){
			public void run(){
				while(m_IsThreadRun){
					setOption();
					panda.setMove();
					repaint();
					m_Cnt_Time++;
					try {
						sleep(80);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		};
		t.start();
	}
    
//	创建图片
	public static final Image createImage(String name){
		if(name == null)
			return null;
		Image o_Img = null;
		try {
			o_Img = Image.createImage(name);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return o_Img;
	}
	
//	游戏数据初始化
	public void initRes(){
		img_Panda = createImage("/panda.png");
		img_Barrier = createImage("/barrier.png");
		img_Cloud = createImage("/cloud.png");
		m_Cnt_Time = 0;
		panda = new Panda();
		CLOUDW = img_Cloud.getWidth();
		CLOUDH = img_Cloud.getHeight();
		setLevel(0);
	}
	
//	关卡数据初始化,参数代表第几关
	public void setLevel(int level){
		m_Level = level;
		switch(level)
		{
		case 0:
//			加载第一关地图!
			barrier = new int[][]{
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 
	   			1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 
	   			1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 
	   			1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 
	   			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
	   			0, 0, 0, 0 },
	   			{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
	   			1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
	   			1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
	   			1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
	   			1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
	   			1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
	   			1, 1, 1, 1 }
	   		};
			
			CLOUD = new int[][]{
					{-15,180},
					{20,80},
					{120,150},
					{150,90},
					{330,80},
					{540,180},
					{740,130},
					{820,80},
					{1060,130},
					{1290,90},
					{1360,140},
					{1520,190},
				};
			mapCol = 100;
			mapRow = 20;
			
			mapW = mapCol*16;
			mapH = mapRow*16;
			skyLine = mapH - 16;
			
			panda.x = 150;
			panda.y = skyLine-panda.height;
			panda.skyLine = skyLine;
			panda.frame = 0;
			panda.transform = TRANS_HORIZONTAL;
			
//			设置镜头位置
			Camera.init(panda);
			Camera.y = mapH - Camera.height;
			
//			从障碍物数据中提取碰撞数据
			Vector collidesManager = new Vector();
			Vector barrierManager = new Vector();
			for (int i = 0; i < mapRow; i++){
				for(int j=0;j<mapCol;j++){
					if(barrier[i][j] != 0){
						if(i*16<skyLine){
							if(j>1 && j != mapCol - 1 && !collidesManager.isEmpty() && barrier[i][j-1] != 0){
								int[] lastCol = (int[])collidesManager.lastElement();
								lastCol[2] += 16;
								collidesManager.setElementAt(lastCol,collidesManager.size()-1);
							}else{
								collidesManager.addElement(new int[]{j<<4,i<<4,16,16,barrier[i][j]-1});
							}	
						}
						barrierManager.addElement(new int[]{j<<4,i<<4,barrier[i][j]-1});
					}
				}
			}
			collides = new int[collidesManager.size()][5];
			collidesManager.copyInto(collides);
			
			barrier = new int[barrierManager.size()][3];
			barrierManager.copyInto(barrier);
			
			collidesManager = barrierManager = null;
			System.gc();
			break;
		}
	}
	
	public final void drawMap(Graphics g){
		for(int i=0;i<barrier.length;i++){
			if(barrier[i][0] > Camera.x + Camera.width 
			|| barrier[i][1] > Camera.y + Camera.height
			|| barrier[i][0]+16 < Camera.x
			|| barrier[i][1]+16 < Camera.y)
				continue;
			g.drawRegion(img_Barrier,barrier[i][2]*16,0,16,16,0,barrier[i][0]-Camera.x,barrier[i][1]-Camera.y,0);
		}
	}
	
//	画云
	public final void drawCloud(Graphics g){
		if(CLOUD == null)
			return;
		int cloudX = 0;
		int cloudY = 0;
		for(int i=0;i<CLOUD.length;i++){
			cloudX = CLOUD[i][0] - Camera.x;
			cloudY = CLOUD[i][1] - Camera.y;
			if(cloudX+CLOUDW < 0 || cloudX> Camera.width)
				continue;
			if(cloudY+CLOUDH < 0 || cloudY> Camera.height)
				continue;
			g.drawImage(img_Cloud,cloudX,cloudY,0);
		}
	}
	
//	触发键盘按下事件
	public void keyPressed(int keyCode){
		m_KeyCode = keyCode;
	}
	
//	触发键盘松开事件
	public void keyReleased(int keyCode){
		m_KeyCode = 0;
//		当松开左右方向键,熊猫方向为无
		switch(keyCode)
		{
		case AVK_LEFT:
		case AVK_4:
		case AVK_RIGHT:
		case AVK_6:
			panda.direction = DIR_NONE;
			break;
		}
	}
	
//	处理按键响应
	public void setOption(){
		switch(m_KeyCode)
		{
		case AVK_LEFT:
		case AVK_4:
			panda.direction = DIR_LEFT;
			m_KeyCode = 0;
			break;
		case AVK_RIGHT:
		case AVK_6:
			panda.direction = DIR_RIGHT;
			m_KeyCode = 0;
			break;
		case AVK_UP:
		case AVK_2:
		case AVK_3:
			m_KeyCode = 0;
//			如果已经跳跃,则不响应
			if(panda.isJump)
				break;
//			如果速度不超过最大速度的一半,则小跳,否则进行大跳
			if(getAbs(panda.speedX) <= Panda.MAXSPEEDX/2)
				panda.speedY = Panda.JUMPV0;
			else
				panda.speedY = Panda.JUMPV0*4/3;
//			跳跃数据维护
			panda.isJump = true;
			panda.cnt_JumpTime = 0;
			break;
		case AVK_0:
			exit();
			break;
		}
	}
	
	public void paint(Graphics g){
		g.setColor(0x3FBFFF);
		g.fillRect(0, 0, SCREENW,SCREENH);
	    drawCloud(g);
	    drawMap(g);
	    panda.paint(g);
	}
	
//	退出游戏
	public final void exit(){
	    m_IsThreadRun = false;
	    m_Mid.notifyDestroyed();
	}
	
//	取绝对值
	public final int getAbs(int num){
		return num >= 0 ? num : -num;
	}
	
	

}

⌨️ 快捷键说明

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