使用纹理在cmd中编译Java程序

时间:2018-09-26 18:50:03

标签: java cmd

我正在尝试使用其中包含.png图像的cmd启动游戏。使用IDE一切正常,但是当我编译所有源文件并以cmd启动游戏时,这会给我错误,并且仅显示没有任何纹理的游戏窗口。是否有特殊的编译方法?因为在IDE中,我们在该程序所在的所有图像所在的位置添加了文件夹,所以知道在哪里搜索它。

1 个答案:

答案 0 :(得分:0)

我猜测问题出在加载纹理的方式上。试试这个:

-在主源文件夹中制作一个名为“ res”(不带引号)的软件包。

-将图像放入该程序包(通过Windows资源管理器或同等的Mac)

并使用以下脚本:

import java.io.IOException;
import java.io.InputStream;
import java.awt.Image;

public static Image loadTexture(String name) throws IOException {
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    InputStream input = classLoader.getResourceAsStream(name);
    Image logo = ImageIO.read(input);
    return logo;
}

现在您可以使用loadTexture("res/name-of-image.png")加载图像了。