class 的多个实例,加载图像,在 java 中提高效率
multiple instances of a class, loading images, make more efficient in java
我正在制作一个有 100 只蜜蜂追逐你并且它们有精灵的游戏。当他们打你时,你就失去了生命。如果你被全部 100 击中,你就死了,游戏重新开始。问题是当它重置时,它会重新加载每只蜜蜂的图像。这种情况发生了 100 次,每次有 2 张图片,加起来造成了严重的延迟。
这是我获取图像的代码:
public void loadPic(){//open up all of the images and store them in an ArrayList
String beeDirectory="img/beeImgs/";
File folder = new File(beeDirectory);
File[] listOfFiles = folder.listFiles();
for(int i=0;i<listOfFiles.length;i++){
beeImgs.add(new ArrayList<BufferedImage>());
}
for(int h=0;h<listOfFiles.length;h++){
File file=listOfFiles[h];
if(file.isDirectory()){
try{
File folder2=new File(beeDirectory+file.getName()+"/");
File[]listOfFiles2=folder2.listFiles();
for (int i = 0; i < listOfFiles2.length; i++){
File file2 = listOfFiles2[i];
if (file2.isFile() && file2.getName().endsWith(".png")){
beeImgs.get(h).add(ImageIO.read(new File(beeDirectory+file.getName()+"/"+file2.getName())));
}
}
}
catch(IOException e){}
}
}
}
任何帮助将不胜感激。
谢谢
继续使用原来的对象。创建它们一次,然后当它们到达用户时隐藏它们并在开始时重新定位它们而不是摆脱它们并重新创建。应该绝对零延迟。
我正在制作一个有 100 只蜜蜂追逐你并且它们有精灵的游戏。当他们打你时,你就失去了生命。如果你被全部 100 击中,你就死了,游戏重新开始。问题是当它重置时,它会重新加载每只蜜蜂的图像。这种情况发生了 100 次,每次有 2 张图片,加起来造成了严重的延迟。
这是我获取图像的代码:
public void loadPic(){//open up all of the images and store them in an ArrayList
String beeDirectory="img/beeImgs/";
File folder = new File(beeDirectory);
File[] listOfFiles = folder.listFiles();
for(int i=0;i<listOfFiles.length;i++){
beeImgs.add(new ArrayList<BufferedImage>());
}
for(int h=0;h<listOfFiles.length;h++){
File file=listOfFiles[h];
if(file.isDirectory()){
try{
File folder2=new File(beeDirectory+file.getName()+"/");
File[]listOfFiles2=folder2.listFiles();
for (int i = 0; i < listOfFiles2.length; i++){
File file2 = listOfFiles2[i];
if (file2.isFile() && file2.getName().endsWith(".png")){
beeImgs.get(h).add(ImageIO.read(new File(beeDirectory+file.getName()+"/"+file2.getName())));
}
}
}
catch(IOException e){}
}
}
}
任何帮助将不胜感激。
谢谢
继续使用原来的对象。创建它们一次,然后当它们到达用户时隐藏它们并在开始时重新定位它们而不是摆脱它们并重新创建。应该绝对零延迟。