import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Timer;
public class Spelare extends Applet implements KeyListener{
public int x = 240;
public int y = 450;
public boolean skott = false;
}
public void init() {
setBackground(Color.BLACK);
setSize(500, 500);
addKeyListener(this);
}
public void paint(Graphics g) {
g.setColor(Color.WHITE);
g.fillRect(x, 450, 20, 15);
if (skott == true) {
g.setColor(Color.WHITE);
g.fillRect (x, y, 3, 6);
y-=1;
repaint();
}
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_RIGHT ) {
if(x<470){
x+=4;
repaint();
}
}
else if (e.getKeyCode() == KeyEvent.VK_LEFT ) {
if (x>10) {
x-=4;
repaint();
}
}
if (e.getKeyCode() == KeyEvent.VK_SPACE ) {
skott = true;
}
}
这是我第一次使用 Stack Overflow。
我想知道如何才能延迟 y 变量的重绘。因为当我按空格键时,skott-variable 变为 true,并且它重新绘制的速度非常快,矩形在屏幕上大约持续一帧。我对 Java 很陌生,所以我不能完全确定我做的一切都是正确的。
我在想也许我可以使用计时器让重绘进入睡眠状态。但我不知道我应该如何处理它。有什么想法吗?