在我制作的游戏中,我希望道具是空投。我有一个板条箱的图像,我想画得比我画的要大。然后我希望图像随着时间的推移逐渐变小,看起来就像是从空中掉下来的。我制作了这段代码,我认为它应该可以工作,但由于某种原因它没有。
if(power.getPowerUp()){
double crateX = (int) power.getX();
double crateY = (int) power.getY();
Image crate = power.getCrate();
int crateW = crate.getWidth(null) + 100;
int crateH = crate.getHeight(null) + 100;
if(crateW > 64){
g2d.drawImage(
power.getCrate(), (int) crateX, (int) crateY, crateW, crateH, this );
crateX += .5;
crateX += .5;
crateW -= 1;
crateH -= 1;
}
else {
g2d.drawImage(
power.getCrate(), (int) crateX, (int) crateY, crateW, crateH, this );
}
}
我里面有这个方法paintComponent(Graphics g)
,我使用一个线程来重新绘制图形。为什么它不起作用?它是否与我使用另一个类的值有关?我将如何使它逐渐变小?