gamecanvas.java
来自「这是一个用JAVA写的很好玩的好游戏!是更新版!加了碰撞上面都有的!希望大家喜欢」· Java 代码 · 共 149 行
JAVA
149 行
import java.io.IOException;
import javax.microedition.lcdui.*;
public class GameCanvas extends Canvas implements Runnable {
static int screen_w;
static int screen_h;
Hero hero;
boolean up, down, left, right;
Image mapImg;
int map_w;
int map_h;
public GameCanvas() {
this.setFullScreenMode(true);
screen_w = this.getWidth();
screen_h = this.getHeight();
try {
mapImg = Image.createImage("/050-Roof02.png");
map_w = 16;
map_h = 16;
} catch (IOException e) {
e.printStackTrace();
}
hero = new Hero();
hero.initHero(Hero.STOP, Hero.DOWN, 100, 100);
new Thread(this).start();
}
public void run() {
while (true) {
if (up || down || left || right) {
hero.state = Hero.MOVE;
} else {
hero.state = Hero.STOP;
}
hero.move();
repaint();
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public void paint(Graphics g) {
g.setColor(0xff0000);
g.fillRect(0, 0, screen_w, screen_h);
paintMap(g);
hero.paint(g);
}
public void paintMap(Graphics g) {
for (int i = 0; i < Map.map3_map0.length; i++) {
for (int j = 0; j < Map.map3_map0[i].length; j++) {
int index = Map.map3_map0[i][j] - 1;
if (index >= 0) {
g.setClip(j * map_w, i * map_h, map_w, map_h);
g.drawImage(mapImg, j * map_w - index % 6 * map_w, i
* map_h - index / 6 * map_h, 0);
}
}
}
}
public void keyPressed(int keyCode) {
if (keyCode == Canvas.KEY_NUM2) {
up = true;
hero.dir = Hero.UP;
}
if (keyCode == Canvas.KEY_NUM8) {
down = true;
hero.dir = Hero.DOWN;
}
if (keyCode == Canvas.KEY_NUM4) {
left = true;
hero.dir = Hero.LEFT;
}
if (keyCode == Canvas.KEY_NUM6) {
right = true;
hero.dir = Hero.RIGHT;
}
if (keyCode == Canvas.KEY_NUM5) {
}
keyCode = this.getGameAction(keyCode);
if (keyCode == Canvas.UP) {
up = true;
hero.dir = Hero.UP;
}
if (keyCode == Canvas.DOWN) {
down = true;
hero.dir = Hero.DOWN;
}
if (keyCode == Canvas.LEFT) {
left = true;
hero.dir = Hero.LEFT;
}
if (keyCode == Canvas.RIGHT) {
right = true;
hero.dir = Hero.RIGHT;
}
if (keyCode == Canvas.FIRE) {
}
}
public void keyReleased(int keyCode) {
if (keyCode == Canvas.KEY_NUM2) {
up = false;
}
if (keyCode == Canvas.KEY_NUM8) {
down = false;
}
if (keyCode == Canvas.KEY_NUM4) {
left = false;
}
if (keyCode == Canvas.KEY_NUM6) {
right = false;
}
if (keyCode == Canvas.KEY_NUM5) {
}
keyCode = this.getGameAction(keyCode);
if (keyCode == Canvas.UP) {
up = false;
}
if (keyCode == Canvas.DOWN) {
down = false;
}
if (keyCode == Canvas.LEFT) {
left = false;
}
if (keyCode == Canvas.RIGHT) {
right = false;
}
if (keyCode == Canvas.FIRE) {
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?