📄 dir_canvas.java
字号:
package ch08;
import java.io.IOException;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class Dir_Canvas
extends GameCanvas
implements CommandListener {
//代表程序是否运行的状态
boolean running;
//存储构成动画的各图像帧
Image img;
//代表动画的精灵对象
Sprite sp;
//动画播放序列
int fs[];
//屏幕宽度
int win_width = getWidth();
//屏幕高度
int win_height = getHeight();
//每帧图像的宽度
int img_width = 32;
//每帧图像的高度
int img_height = 48;
Graphics g = getGraphics();
//主MIDlet类实例
Dir_MIDlet fm;
/*
3.构造器
*/
public Dir_Canvas(Dir_MIDlet fm) {
super(true);
this.fm = fm;
Command exitCommand = new Command("退出", Command.EXIT, 0);
addCommand(exitCommand);
setCommandListener(this);
try {
img = Image.createImage("/icons/cowboy/cowboy0.png");
}
catch (IOException e) {
System.out.println(e.getMessage());
}
sp = new Sprite(img, img_width, img_height);
int x = (win_width - img_width) / 2;
int y = (win_height - img_height) / 2;
sp.setPosition(x, y);
render(g);
//start();
}
/*
7.实现绘制
*/
private void render(Graphics g) {
g.setColor(0x000000);
g.fillRect(0, 0, win_width, win_height);
/*
sp.setFrame(0);
sp.paint(g);
sp.setTransform(Sprite.TRANS_NONE);
sp.paint(g);
sp.setFrame(0);
sp.paint(g);
sp.setTransform(Sprite.TRANS_ROT90);
sp.paint(g);
sp.setFrame(0);
sp.paint(g);
sp.setTransform(Sprite.TRANS_ROT180);
sp.paint(g);
sp.setFrame(0);
sp.paint(g);
sp.setTransform(Sprite.TRANS_ROT270);
sp.paint(g);
sp.setFrame(0);
sp.paint(g);
sp.setTransform(Sprite.TRANS_MIRROR);
sp.paint(g);
sp.setFrame(0);
sp.paint(g);
sp.setTransform(Sprite.TRANS_MIRROR_ROT90);
sp.paint(g);
sp.setFrame(0);
sp.paint(g);
sp.setTransform(Sprite.TRANS_MIRROR_ROT180);
sp.paint(g);
sp.setFrame(0);
sp.paint(g);
sp.setTransform(Sprite.TRANS_MIRROR_ROT270);
sp.paint(g);
*/
flushGraphics();
}
/*
9.响应按钮事件
*/
public void commandAction(Command c, Displayable s) {
if (c.getCommandType() == Command.EXIT) {
fm.quitApp();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -