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

📄 plane_canvas.java

📁 这是自我做的一款手机游戏
💻 JAVA
字号:
package Plane;

import java.io.IOException;

import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;

public class Plane_Canvas extends GameCanvas implements Runnable {

	Graphics g;

	int x, y;

	byte gamestate;

	int count, indext, countstr;

	static final byte LOGO = 0;// logo

	static final byte MENU = 1;// 菜单

	static final byte RUN = 2;// 运行

	static final byte CONTINUE = 3;// 继续

	static final byte HELP = 4;// 帮助

	static final byte GAMEOVER = 5;// 游戏结束

	Image logo[] = new Image[3];// logo图片

	Image menu, menu1, m[];// 菜单图片

	static final int UP_ = 1;

	static final int DOWN_ = 2;

	static final int LEFT_ = 3;

	static final int RIGHT_ = 4;

	static final int WIDHT = 176;// 屏幕宽

	static final int HEIGHT = 220;// 屏幕高

	public Plane_Canvas() {
		super(false);
		g = getGraphics();
		
		for (int i = 0; i < logo.length; i++) {
			try {
				logo[i] = Image.createImage("/logo/logo" + (i + 1) + ".png");
			} catch (IOException e1) {
				// TODO 自动生成 catch 块
				e1.printStackTrace();
			}
		}
		Option();

		new Thread(this).start();
	}

	// 菜单选项
	void Option() {
		m = new Image[4];
		for (int i = 0; i < m.length; i++) {
			try {
				m[i] = Image.createImage("/menu/m" + (i + 1) + ".png");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		try {
			menu = Image.createImage("/menu/menu.png");
			menu1 = Image.createImage("/menu/menu1.png");
		} catch (IOException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
	}

	// 表示层-------------------------------
	protected void paint() {
		int y_ = 120;
		switch (gamestate) {
		case LOGO:
			g.drawImage(logo[indext], 0, 0, Graphics.TOP | Graphics.LEFT);
			break;
		case MENU:
			g.drawImage(menu, 0, 0, Graphics.TOP | Graphics.LEFT);
			for (int i = 0; i < m.length; i++) {
				if (countstr == i) {
					g.drawImage(menu1, 20, y_ - 10, Graphics.TOP
							| Graphics.LEFT);
				}
				if (countstr == i)
					g.setColor(255, 0, 0);
				g.drawImage(m[i], 60, y_, Graphics.TOP | Graphics.LEFT);
				y_ += 20;
			}
			break;
		case RUN:

			break;
		case CONTINUE:

			break;
		case HELP:

			break;
		case GAMEOVER:

			break;
		}

		flushGraphics();
	}

	// 控制层-------------------------------
	public void keyPressed() {
		int keystate = getKeyStates();
		switch (gamestate) {
		case LOGO:
			if (++count >= 45) {
				count = 0;
				if (++indext >= logo.length) {
					gamestate = MENU;
				}
			}
			if (keystate != 0) {
				gamestate = MENU;
			}
			break;
		case MENU:
			if ((keystate & UP_PRESSED) != 0) {
				if (--countstr < 0)
					countstr = m.length - 1;
			}
			if ((keystate & DOWN_PRESSED) != 0) {
				if (++countstr >= m.length)
					countstr = 0;
			}
			if ((keystate & FIRE_PRESSED) != 0) {

			}
			break;
		case RUN:

			break;
		case CONTINUE:

			break;
		case HELP:

			break;
		case GAMEOVER:

			break;
		}

	}

	// 逻辑层-------------------------------

	void logic() {
		switch (gamestate) {
		case LOGO:
			break;
		case MENU:

			break;
		case RUN:

			break;
		case CONTINUE:

			break;
		case HELP:

			break;
		case GAMEOVER:

			break;
		}

	}

	public void run() {
		while (true) {
			paint();
			keyPressed();
			logic();
			try {
				Thread.sleep(33);
			} catch (InterruptedException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
		}
	}

}

⌨️ 快捷键说明

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