Hallo, ich habe ein Frage.
Und zwar möchte ich für ein Project(ein kleines Game) Bilder im Voraus laden.
Ich denke das alle Bilder im Ram zu haben besser ist als die ständig neu zu laden.
Wie der Titel schon sagt möchte ich die Bilder aus der Jar laden in der sich auch mein Programm befindet.
Darüber hinaus möchte ich aber alle Bilder aus einem Ordner inerhalb der Jar Laden den ich vorher angeben kann.
Ich hab mir dazu schon ein paar Sachen mit Zip u.s.w eingeschaut bin daraus aber nicht schlau geworden.
Und zwar möchte ich für ein Project(ein kleines Game) Bilder im Voraus laden.
Ich denke das alle Bilder im Ram zu haben besser ist als die ständig neu zu laden.
Wie der Titel schon sagt möchte ich die Bilder aus der Jar laden in der sich auch mein Programm befindet.
Darüber hinaus möchte ich aber alle Bilder aus einem Ordner inerhalb der Jar Laden den ich vorher angeben kann.
Java:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package de.fansana.Handler;
import java.awt.image.BufferedImage;
import java.util.LinkedList;
/**
* This class holds all Images.
* getInstance is first called when the Programe enters the MenuStage/LoadingStage
* @author fansana
*/
public class AssetHandler {
private static AssetHandler instance;
LinkedList<ImageItem> List = new LinkedList<ImageItem>();
private int imageCount;
private int imageLoaded;
private AssetHandler(){
}
public static AssetHandler getInstance(){
if(instance == null)instance = new AssetHandler();
return instance;
}
public void loadImages(){
loadImages(null);
}
public void loadImages(String path){
if(path == null)
path = "de/fansana/assets";
}
/**
*
* @return percent in wich the loading of the Images is complete
*/
public int getProgress(){
return imageCount/imageLoaded*100;
}
private class ImageItem{
private BufferedImage img;
private String ID;
public ImageItem(BufferedImage img, String ID){
this.img = img;
this.ID = ID;
}
public String getID(){
return ID;
}
public BufferedImage getImg(){
return img;
}
}
}
Ich hab mir dazu schon ein paar Sachen mit Zip u.s.w eingeschaut bin daraus aber nicht schlau geworden.