Java 为精灵打开图片
Java opening images for sprites
我正在制作一个需要多组精灵的游戏,它们需要以 2d 的形式存储 list/array。我有 2 个需要精灵的对象,你(就是那个人)和蜜蜂。我将图像按这 2 个字符排序,然后是他们的动作,然后是使用文件夹的方向。
我编写此代码以打开 "you" 文件夹并将子文件夹内容插入到向下移动的二维数组列表中:
public void loadPic(){//open up all of the images and store them in an ArrayList
File folder = new File("img/youImgs/run/right");
File[] listOfFiles = folder.listFiles();
ArrayList<BufferedImage> runImgs=new ArrayList<BufferedImage>();
for (int i = 0; i < listOfFiles.length; i++) {
File file = listOfFiles[i];
if (file.isFile() && file.getName().endsWith(".png")) {
try {
runImgs.add(ImageIO.read(new File("img/youImg/run/right"+file.getName())));
}
catch (IOException e) {
}
}
}
youImgs.add(runImgs);
}
我不知道如何修改它以使其有用和工作。
我需要将它们保存到单独的列表中,以便 运行 它们。
如果您对如何添加精灵有更好的想法,请告诉我。
请帮帮我。
提前致谢。
我知道怎么做了。
我编辑了我的文件夹目录,将每个移动都放在一个文件夹中,然后将所有这些文件夹放在一个 youImg 文件夹中。
下面是我的代码,供任何需要帮助的人使用。
public void loadPic(){//open up all of the images and store them in an ArrayList
String youDirectory="img/youImgs/";
File folder = new File(youDirectory);
File[] listOfFiles = folder.listFiles();
for(int i=0;i<listOfFiles.length;i++){
youImgs.add(new ArrayList<BufferedImage>());
}
for(int h=0;h<listOfFiles.length;h++){
File file=listOfFiles[h];
if(file.isDirectory()){
try{
youMoves.add(file.getName());
File folder2=new File(youDirectory+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")){
youImgs.get(h).add(ImageIO.read(new File(youDirectory+file.getName()+"/"+file2.getName())));
}
}
}
catch(IOException e){}
}
}
}
感谢您对本网站上的许多其他问题帮助我找到答案。
我正在制作一个需要多组精灵的游戏,它们需要以 2d 的形式存储 list/array。我有 2 个需要精灵的对象,你(就是那个人)和蜜蜂。我将图像按这 2 个字符排序,然后是他们的动作,然后是使用文件夹的方向。
我编写此代码以打开 "you" 文件夹并将子文件夹内容插入到向下移动的二维数组列表中:
public void loadPic(){//open up all of the images and store them in an ArrayList
File folder = new File("img/youImgs/run/right");
File[] listOfFiles = folder.listFiles();
ArrayList<BufferedImage> runImgs=new ArrayList<BufferedImage>();
for (int i = 0; i < listOfFiles.length; i++) {
File file = listOfFiles[i];
if (file.isFile() && file.getName().endsWith(".png")) {
try {
runImgs.add(ImageIO.read(new File("img/youImg/run/right"+file.getName())));
}
catch (IOException e) {
}
}
}
youImgs.add(runImgs);
}
我不知道如何修改它以使其有用和工作。
我需要将它们保存到单独的列表中,以便 运行 它们。
如果您对如何添加精灵有更好的想法,请告诉我。
请帮帮我。
提前致谢。
我知道怎么做了。 我编辑了我的文件夹目录,将每个移动都放在一个文件夹中,然后将所有这些文件夹放在一个 youImg 文件夹中。
下面是我的代码,供任何需要帮助的人使用。
public void loadPic(){//open up all of the images and store them in an ArrayList
String youDirectory="img/youImgs/";
File folder = new File(youDirectory);
File[] listOfFiles = folder.listFiles();
for(int i=0;i<listOfFiles.length;i++){
youImgs.add(new ArrayList<BufferedImage>());
}
for(int h=0;h<listOfFiles.length;h++){
File file=listOfFiles[h];
if(file.isDirectory()){
try{
youMoves.add(file.getName());
File folder2=new File(youDirectory+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")){
youImgs.get(h).add(ImageIO.read(new File(youDirectory+file.getName()+"/"+file2.getName())));
}
}
}
catch(IOException e){}
}
}
}
感谢您对本网站上的许多其他问题帮助我找到答案。