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

📄 mygcanvas.java

📁 该程序源码是一个制作J2ME手机游戏的测试代码
💻 JAVA
字号:
import java.io.*;
import java.util.Random;

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


public class MyGCanvas extends GameCanvas implements Runnable{
	Graphics g_buf;
	Player player;
	Player npc;
	Image img1;
	Image img2;
	Image bg_img;
	TiledLayer tl;
	Random r=new Random();
	int[][] bg_data={
			{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},
			{21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40},
			{1,2,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},
			{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},
			{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},
			{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},
			{-1,-2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},
			{-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150},
			{190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190},
			{1,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200}				
	};
	protected MyGCanvas() {
		super(false);
		try {
			Image img1=Image.createImage("/02.png");
			Image img2=Image.createImage("/07.png");
			Image bg_img=Image.createImage("/sea4.png");
			for(int i=0;i<20;i++){
				for(int j=0;j<10;j++){
					tl.setCell(j, i, bg_data[i][j]);
				}
			}
		} catch (Exception e) {			
			e.printStackTrace();
		}
		tl=new TiledLayer(20,10,bg_img,16,16);
		player=new Player(img1,32,48);
		npc=new Player(img2,32,48);
		npc.setPosition(100,200);
		tl.createAnimatedTile(150);
		new Thread(this).start();
	}
	void draw(Graphics g){
		g.setColor(-1);
		g.fillRect(0,0,240,320);
		tl.paint(g);		
		player.draw(g);
		npc.draw(g);
		tl.setAnimatedTile(-1, 150);
		g.setColor(r.nextInt(0xffff));
		if(player.collidesWith(npc,false)){
			player.moveback();
			g.drawString("哎吆,疼死我了,过来,扶我起来!",100,150,256);
			
		}
	}
	public void keyPressed(int keyCode){
		switch(keyCode){
		case -1:
			player.move(0, -10);
			break;
		case -2:
			player.move(0, 10);
			break;
		case -3:
			player.move(-10, 0);
			break;
		case -4:
			player.move(10, 0);
			break;
		}
	}
	public void run() {
		while(true){
			draw(getGraphics());
			flushGraphics();
			try {
				Thread.sleep(100);
			} catch (Exception e){		
				e.printStackTrace();
			}
		}
	}

}

⌨️ 快捷键说明

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