📄 viewwindow_canvas.java
字号:
package LayerManager;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class ViewWindow_Canvas extends GameCanvas implements Runnable {
private int drawX = 0;
private int drawY = 0;
private int dx=0,dy=0;
private int i, j;
private Sprite sprite;
private Image titledImage, spriteImage;
private Graphics g;
private TiledLayer background;
private LayerManager layManager;
//设置精灵往右行走的数组
private int down_seq[] = { 9, 10, 11 };
protected ViewWindow_Canvas() {
super(true);
drawX = this.getWidth() / 2 - 16;
drawY = this.getHeight() / 2;
try {
spriteImage = Image.createImage("/man.png");
titledImage = Image.createImage("/ScrollPic.png");
} catch (Exception e) {
}
//精灵单元宽32高48
sprite = new Sprite(spriteImage, 32, 48);
sprite.setFrameSequence(down_seq);
g = this.getGraphics();
background = new TiledLayer(1, 1, titledImage, 586, 121);
background.setCell(0,0,1);
background.move(0,drawY - 50);
layManager = new LayerManager();
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 + dx , drawY);
layManager.append(sprite);
layManager.append(background);
layManager.setViewWindow(dx,0,getWidth() - 40 ,150);
g.setColor(0, 0, 0);
g.drawString("Hello",0,0,Graphics.TOP|Graphics.LEFT);
g.drawLine(0,19,getWidth(),19);
layManager.paint(g,20,20);
flushGraphics();
if(dx < 586 - getWidth())
dx = dx+5;
else
dx = 0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -