📄 sprite_tiled_canvas.java
字号:
package tiledLayer;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class Sprite_Tiled_Canvas extends GameCanvas implements Runnable {
private int drawX = 0;
private int drawY = 0;
private int i, j;
private Sprite sprite;
private Image titledImage, spriteImage;
private Graphics g;
private TiledLayer background;
//设置精灵往右行走的数组
private int down_seq[] = { 9, 10, 11 };
private byte[][] titledMap = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 },
{ 7, 7, 7 }, { 7, 7, 7 }, { 7, 7, 7 } };
protected Sprite_Tiled_Canvas() {
super(true);
drawX = this.getWidth() / 2 - 16;
drawY = this.getHeight() / 2;
try {
spriteImage = Image.createImage("/man.png");
titledImage = Image.createImage("/title1.png");
} catch (Exception e) {
}
//精灵单元宽32高48
sprite = new Sprite(spriteImage, 32, 48);
sprite.setFrameSequence(down_seq);
g = this.getGraphics();
background = new TiledLayer(3, 6, titledImage, 64, 32);
for (i = 0; i < 6; i++)
for (j = 0; j < 3; j++) {
background.setCell(j, i, titledMap[i][j]);
}
Thread thread = new Thread(this);
thread.start();
}
public void run() {
while (true) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
//清屏
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
//移动到下一帧
sprite.nextFrame();
//在屏幕正中间偏下走动
sprite.setPosition(drawX, drawY);
//画背景
background.paint(g);
//画精灵
sprite.paint(g);
flushGraphics();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -