1
我正在学习用java编写代码,并且最近开始按照我的任务编写游戏。 我已经完成了几乎整个游戏,但坚持游戏的动画部分。 以下是我迄今所做的,使用bufferedimage重新绘制图像
这是加载图像TI显示类,
public class dpmImage {
private BufferedImage dpm1;
private BufferedImage setDpm1;
public dpmImage() { //this is a constructor
try {
dpm1= ImageIO.read(new File("dpm1Load.png"));
} catch (IOException e) {
e.printStackTrace();
}
setDpm1 = dpm1;
}
private BufferedImage dpm1ImageGet() {
return setDpm1;
}
}
下面的代码是从主类(Main.java)
private Graphics cGraphcs;
cGraphcs.drawImage(dpmImageInstance.dpm1ImageGet(), 0, 0, null);
该代码工作正常,并显示图像。 现在,我可以修改dpmImage
类中的任何内容,但不允许修改Main.java
中的任何内容,并仍然使此图像具有动画效果。所以,我在dpmImage
类中创建的BufferedImage
的阵列和阵列中添加第二个图像如下,
public class dpmImage {
private BufferedImage [] dpm1 = new BufferedImage[2];
private BufferedImage setDpm1;
public dpmImage() { //this is a constructor
try {
dpm1[0]= ImageIO.read(new File("dpm1Load.png"));
dpm1[1]= ImageIO.read(new File("dpm1Load1.png"));
} catch (IOException e) {
e.printStackTrace();
}
setDpm1 = dpm1[0];
setDpm1 = dpm1[1];
}
private BufferedImage dpm1ImageGet() {
return setDpm1;
}
}
,但我不能让从第一图像动画它第二次。有人可以给我任何提示吗?我不允许更改Main.java
类别
那么,你有一个数组,但你''setDpm1''初始化了两次,'dpm1 [1]'。您可能希望能够根据某些内容返回'dpm1 [0]'或'dpm1 [1]'。 – AxelH