【发布时间】:2019-10-23 04:05:40
【问题描述】:
我正在尝试将 Sprite 文件从教程加载到游戏中。
本教程在 Eclipse 中构建,此人使用 IDE 设置添加资源文件夹,允许他使用 getResource()。
我正在使用 VSCode,VSCode 错过了似乎放置设置的 .classpath 路径文件。 VSCode 没有用于设置 Java 资源目录的设置选项。
我希望能够使用 getResource("directory/file.png")
我尝试添加一个.classpath文件并输入资源目录,结果是一样的。
我尝试以不同的方式加载它,但没有任何效果。
package n0ngames.SandboxRPG.graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
public class SpriteSheet {
private String path = null;
public final int SIZE;
public int[] pixels = null;
public static SpriteSheet tiles = null;
public SpriteSheet(String _path, int size) {
this.path = _path;
this.SIZE = size;
this.pixels = new int[size * size];
load();
tiles = new SpriteSheet("C:/dev/SandboxRPG/res/textures/spritesheet.png", 256);
}
private void load() {
try {
BufferedImage image = ImageIO.read(SpriteSheet.class.getResource(path));
int w = image.getWidth();
int h = image.getHeight();
image.getRGB(0, 0, w, h, pixels, 0, w);
} catch (IOException e) {
e.printStackTrace();
}
}
}
违规行是BufferedImage image = ImageIO.read(SpriteSheet.class.getResource(path)); getResource(path) 不起作用。
我认为有一种方法可以让这条线像 VSCode 一样工作,这将是使用 VSCode 时 Java 语言缺少的一个大型语言功能,所以必须有一种方法。
谁能解释一下如何让这条线正常工作?
【问题讨论】:
标签: java image path bufferedimage