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

📄 mycanvas.java

📁 JAVA游戏开发的基本框架设计
💻 JAVA
字号:
import javax.microedition.lcdui.*;

public class MyCanvas extends Canvas implements Runnable
{
	Image playerImage;
	Image bufferImage;
	int playerX, playerY;
	public MyCanvas()
	{
		bufferImage = Image.createImage(176, 208);
		try
		{
			playerImage = Image.createImage("/c.png");
		}
		catch(java.io.IOException ioe)
		{
			System.out.println("Can not open Image file");
		}
		
		Thread t = new Thread(this);
		t.start();
	}
	
	boolean isRunning;
	int whichframe;
	final int SPEED = 4;
	int director = 2;
	public void run()
	{
		Graphics g = bufferImage.getGraphics();
		while(true)
		{
			if(isRunning)
			{
				movePlayer();
			}
			bufferPaint(g);
			repaint();
			try
			{
				Thread.sleep(80);
			}
			catch(Exception e)
			{
				
			}
		}
	}
	
	public void movePlayer()
	{
		whichframe++;
		switch(director)
		{
			case 0:playerY -= SPEED;break;
			case 1:playerX += SPEED;break;
			case 2:playerY += SPEED;break;
			case 3:playerX -= SPEED;break;
		}
	}
	
	public void bufferPaint(Graphics g)
	{
		g.setColor(255, 255, 255);
		g.fillRect(0, 0, 176, 208);
		
		g.translate(-g.getTranslateX(), - g.getTranslateY());
		g.translate(playerX, playerY);
		g.setClip(0, 0, 24, 24);
		
		int __w = whichframe % 4;
		if(__w == 3)__w = 1;
		g.drawImage(playerImage, -24 * __w, -24 * director, 0);
	}
	
	public void paint(Graphics g)
	{
		g.setColor(0);
		g.fillRect(0, 0, getWidth(), getHeight());
		g.setColor(255, 0, 0);
		
		g.drawImage(bufferImage, getWidth() - 176 >> 1, getHeight() - 208 >> 1, 0);
	}
	
	public void keyPressed(int keyCode)
	{
		int gA = getGameAction(keyCode);
		switch(gA)
		{
			case UP:	director = 0;	isRunning = true;break;
			case DOWN:	director = 2;	isRunning = true;break;
			case LEFT:	director = 3;	isRunning = true;break;
			case RIGHT:	director = 1;	isRunning = true;break;
		}
	}
	
	public void keyReleased(int keyCode)
	{
		isRunning = false;
	}
}

⌨️ 快捷键说明

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