📄 imageset.java
字号:
package mobileRPG.client;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import mobileRPG.*;
public class ImageSet extends Canvas implements Runnable {
// Used for indexing the images
private Image[] image;
private int[] imageID;
// Only needed when in loading screen
private Display display;
private Thread thread;
private String file;
private Main main;
// Used in paint()
private int backgroundcolor = 0xFFFFFF;
private int foregroundcolor = 0x000000;
private int xSize, ySize;
private String message;
private int progress;
public ImageSet(Main main, String file) {
this.main = main;
this.file = file;
xSize = getWidth();
ySize = getHeight();
message = "Loading... 0%";
progress = 0;
display = Display.getDisplay(main);
(thread = new Thread(this)).start();
}
public Image getImage(int imageID) {
for (int n = 0; n < this.imageID.length; n++) {
if (this.imageID[n] == imageID) {return image[n];}
}
return null;
}
public void run() {
loadImages();
main.loadImagesCompleted();
display = null;
main = null;
file = null;
}
public void loadImages() {
int index, imageCount;
String[] buffer;
ConfigFile cf;
message = "Loading... 0%";
cf = new ConfigFile(file);
imageCount = cf.readIntLine();
image = new Image[imageCount];
imageID = new int[imageCount];
imageCount = 0;
while (!cf.isClosed()) {
index = 0;
buffer = cf.readArrayLine('|');
imageID[imageCount] = (Integer.valueOf(buffer[0])).intValue();
try {
image[imageCount] = Image.createImage(buffer[1]);
} catch (Exception e) {System.err.println("Error Loading ImageSet: " + e.toString());}
imageCount++;
progress = (imageCount * 100) / imageID.length;
message = "Loading... " + progress + "%";
repaint();
thread.yield();
}
message = "Loading... Complete";
progress = 100;
repaint();
}
protected void paint(Graphics g) {
g.setColor(backgroundcolor);
g.fillRect(0, 0, xSize, ySize);
g.setColor(foregroundcolor);
g.drawRect(10, 10, xSize - 20, 10);
g.fillRect(10, 10, ((xSize - 20) * progress) / 100, 10);
g.drawString(message, 10, 30, Graphics.TOP|Graphics.LEFT);
}
protected void keyPressed(int keyCode) {}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -