java - Java游戏只能在eclipse中加载图片
问题描述
我是游戏开发新手,目前正在从头开始制作一个简单的 java 游戏。一切都内置在 eclipse neon 3.0 中,游戏在其中运行良好。但是,当我将 java 项目导出到可执行 jar 文件时,每当它从 .jar 中的 res 文件加载图像时,它就会崩溃并且没有响应。我确信这是图像加载的问题,因为 drawRect() 仍然可以正常工作。
这就是我在游戏中加载图像的方式
//in my ImageLoader class
public static BufferedImage load(String path){
try{
return ImageIO.read(ImageLoader.class.getResource(path));
}catch(IOException e){
e.printStackTrace();
}
}
在我的资产类中,我为将要使用的每个图像声明变量
public static BufferedImage mobs =
ImageLoader.load(/texture/mobs.png);
并在其他类中绘制图像
g.drawImage(Asset.mobs , ...)
所有 png 文件都放在 res 文件下的纹理文件中,该文件与我的 src 文件处于同一级别,并添加到类文件夹(库)中。
我在互联网上搜索了一个多星期的解决方案,仍然没有任何进展。我真的对制作自己的游戏很感兴趣,我真的需要你的帮助!!!很抱歉有任何不整洁,因为这是我第一次询问堆栈溢出问题,但我仍然不习惯。先感谢您。
解决方案
推荐阅读
- swift - 关闭状态后执行操作 - SwiftUI
- javascript - NodeJS SocketeIO 发射的基本问题
- nginx - 如何在 Nginx 服务器中设置 Apache 的 http-https ProxyPassReverse
- python - 如何使用 openpyxl 读取工作表的标签颜色
- android - 如何在 Kotlin 中为 Android 应用程序生成 protobuf?
- sql - 计数 > 1 时 SQL 选择大小写
- c# - 如何根据当前向用户显示的页面有条件地 PopAsync
- javascript - CSS - 图标的垂直对齐未正确显示
- sql-server - 有效的命令执行访问崩溃
- node.js - 表达静态:当文件夹名称等于 html 页面名称时发生冲突