我在编写坦克大战的时候,最开始用的是这样的方式初始化图片的
image1 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/images/bomb_1.gif"));
image2 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/images/bomb_2.gif"));
image3 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/images/bomb_3.gif"));
程序基本没有什么问题,但是在消灭第一辆坦克的时候,没有爆炸效果后来改用如下方式
try
{
image1 = ImageIO.read(new File("/images/bomb_1.gif"));
image2 = ImageIO.read(new File("/images/bomb_2.gif"));
image3 = ImageIO.read(new File("/images/bomb_3.gif"));
}
catch (Exception e)
{
e.printStackTrace();
}
运行倒是没问题,但是就是爆炸效果出不来
出现如下提示:
javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at game.tank.Mypanel.<init>(DrawTank.java:73)
at game.tank.DrawTank.<init>(DrawTank.java:18)
at game.tank.DrawTank.main(DrawTank.java:33)请告诉我这到底是怎么回事儿,该怎样处理
谢谢!!!!
image1 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/images/bomb_1.gif"));
image2 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/images/bomb_2.gif"));
image3 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/images/bomb_3.gif"));
程序基本没有什么问题,但是在消灭第一辆坦克的时候,没有爆炸效果后来改用如下方式
try
{
image1 = ImageIO.read(new File("/images/bomb_1.gif"));
image2 = ImageIO.read(new File("/images/bomb_2.gif"));
image3 = ImageIO.read(new File("/images/bomb_3.gif"));
}
catch (Exception e)
{
e.printStackTrace();
}
运行倒是没问题,但是就是爆炸效果出不来
出现如下提示:
javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at game.tank.Mypanel.<init>(DrawTank.java:73)
at game.tank.DrawTank.<init>(DrawTank.java:18)
at game.tank.DrawTank.main(DrawTank.java:33)请告诉我这到底是怎么回事儿,该怎样处理
谢谢!!!!
用你的方法得到解决,但是我有几个疑问,
1、你说前面一个程序:第一个坦克没爆炸,应该是逻辑问题;到底是什么逻辑问题,能不能说的详细一点
2、后面一个程序:出错,是读图片的方法中路径写的不对,那么路径该怎样写呀?我实在src下面建的images这个文件夹,3张图片都在这个文件夹下,
我换了一种方法来读取图片
但是他们说我的路径写错了
我实在搞不懂哪里写错了,(我就是在src下面建的一个文件夹,3张图片放了进去)还请高手来指导
很简单,搞个绝对路径撒
从盘符开始写起:
image1 = ImageIO.read(new File("c:/.../.../.../src/images/bomb_1.gif"))
...自己填
这样写对了,
我还有疑问
image1 = ImageIO.read这个方法
为什么要把src这个目录也带上,而image1 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/images/bomb_1.gif"));
这个方法不用带src这个目录