📄 mygcanvas.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 + -