📄 mytiledlayer.java
字号:
package tiledLayer;
import java.io.IOException;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.lcdui.game.TiledLayer;
public class MyTiledLayer extends GameCanvas implements Runnable {
// private int[][] map = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 11
// }, { -1, -1, -1, -1 } };
private Graphics g;
private Sprite sprite;
private TiledLayer background;
private final static int column = 10;
private final static int row = 10;
private int y;
private int x;
private int screenWidth;
private static final int SPRITE_WIDTH = 130;
private static final int SPRITE_HEIGHT = 203;
private static final int TILE_CELL_WIDTH = 24;
private static final int TILE_CELL_HEIGHT = 32;
protected MyTiledLayer(boolean suppressKeyEvents) {
super(suppressKeyEvents);
init();
initSprite();
initBackground();
startThread();
}
private void startThread() {
Thread thread = new Thread(this);
thread.start();
}
private void initBackground() {
Image img = null;
try {
img = Image.createImage("/sprite/bg.png");
} catch (IOException e) {
e.printStackTrace();
}
background = new TiledLayer(column, row, img, TILE_CELL_WIDTH, TILE_CELL_HEIGHT);
for (int i = 0; i < row; i++) {
for (int j = 0; j < column; j++) {
background.setCell(j, i, 1);
}
}
}
private void initSprite() {
Image image = null;
try {
image = Image.createImage("/sprite/kid.png");
} catch (IOException e) {
e.printStackTrace();
}
sprite = new Sprite(image, SPRITE_WIDTH, SPRITE_HEIGHT);
sprite.setPosition(x, y);
}
private void init() {
g = getGraphics();
x = screenWidth;
y = getHeight() - SPRITE_HEIGHT - 10;
screenWidth = getWidth();
}
public void run() {
while (true) {
draw();
sleep();
move();
}
}
private void draw() {
background.paint(g);
sprite.paint(g);
flushGraphics();
}
private void move() {
if (x > -1 * SPRITE_WIDTH) {
x -= screenWidth / 5;
} else {
x = screenWidth;
}
sprite.setPosition(x, y);
sprite.nextFrame();
}
private void sleep() {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -