Я пытаюсь загрузить файл 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, поэтому должен быть способ.
Может кто-нибудь объяснить, как заставить эту строку работать правильно?