VSCode getResource找不到资源

时间:2019-06-07 16:05:57

标签: java image path bufferedimage

我正在尝试从教程中将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语言缺少的一种大型语言功能,因此必须有一种方法。

任何人都可以解释如何使此行正常工作吗?

1 个答案:

答案 0 :(得分:0)

解决方案是正确设置项目。

步骤1:按Ctrl + Shift + P

第2步:键入Java

步骤3:选择Java:创建Java项目

第4步:命名项目

这将构建一个标准的空白Java项目供使用。