⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imageset.java

📁 一个老外写的一个j2me环境的rpg引擎
💻 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 + -