如果您需要更多代码,请告诉我们!
我可以在Eclipse中完美地运行该程序。但是一旦我访问文件并在终端中运行java Frame,它只显示我游戏的一部分。它不显示任何.png文件。
这是我的主要方法:
import javax.swing.*;
import java.awt.*;
public class Frame extends JFrame {
public static String title = "Tower Defense Alpha";
public static Dimension size = new Dimension(700, 550);
public Frame() {
setTitle(title);
setSize(size);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
init();
}
public void init(){
setLayout(new GridLayout(1,1,0,0));
Screen screen = new Screen(this);
add(screen);
setVisible(true);
}
public static void main(String args[]){
Frame frame = new Frame();
}
}
以下是我访问Eclipse中的文件的方法,这在Terminal中似乎不起作用:
for (int i=0; i<tileset_ground.length; i++) {
tileset_ground[i] = new ImageIcon("res/tileset_ground.png").getImage();
tileset_ground[i] = createImage(new FilteredImageSource(tileset_ground[i].getSource(),
new CropImageFilter(0, 26*i, 26, 26)));
}
答案 0 :(得分:0)
似乎问题是在终端上,程序正在从Client/src folder
运行,因此它会尝试在Client/src/res
上查找不存在的图像。
Client
|
+-- bin (classes compiled by Eclipse)
|
+-- res (images)
|
+-- src (source code)
通过在javac *.java
文件夹上运行src
,您将在src
文件夹中创建已编译类的副本。
在终端上,您需要返回客户端文件夹并使用java -classpath bin Frame