📄 animecanvas.java
字号:
/*
* AnimeCanvas.java
*
* Copyright 2001 SkyArts. All Rights Reserved.
*/
import javax.microedition.lcdui.*;
/**
* Anime的描绘与操作所用的类
*
* @author Hideki Yonekawa
* @version 1.0
*/
class AnimeCanvas extends Canvas implements Runnable {
/** 储存动画的图像Index的变量 */
private int imgInx;
/** 储存动画的图像的变量 */
private Image[] imgs;
/** 用来将动画描绘线程停止的标志变量 */
private boolean isStopped;
/** 构造函数 */
AnimeCanvas() {
//取得标题图像
imgs = new Image[3];
for(int i=0; i < imgs.length; i++) {
try {
imgs[i] = Image.createImage("/img" + String.valueOf(i) + ".png");
}catch(java.io.IOException e) {}
}
//开始描绘线程
doStart();
}
/** 启动动画线程的方法 */
private void doStart() {
isStopped = false;
Thread th = new Thread(this);
th.start();
}
/** 停止动画线程的方法 */
private void doStop() {
isStopped = true;
}
/** 动画线程处理部分 */
public void run() {
imgInx = 0;
while(! isStopped) {
try {
repaint(); //再描绘
Thread.sleep(500); //等待一定时间
imgInx++; //改变图像的Index
if(imgInx >= imgs.length) {
imgInx = 0;
}
}catch(InterruptedException e){}
}
}
/** 进行描绘的方法 */
protected void paint(Graphics g) {
//将背景以白色清除
g.setColor(0x00FFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
//描绘指定Index的图像
g.drawImage(imgs[imgInx], 0, 0, Graphics.TOP|Graphics.LEFT);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -