矢印キーが押されたときに、画像を画面上で右に 16 移動したい。ポイントに到達するまで、速度(1px / 10ms)で移動したい。画像は、JPanel の子であるクラス内で作成されます。私は次のコードを書きましたが、画像は動きをする代わりに即座に位置を変更します:
public class Test extends JFrame implements KeyListener {
private int x=0;
private int y=0;
BufferedImage img;
...
...
public void paint(Graphics g){
g.drawImage(img,x,y,null);
}
// Move to a point 16 pixels to right
public void moveRight(){
for(int i=0;i<16;i++){
x++;
repaint();
try {
Thread.sleep(10); // Sleep 10 milliseconds until next position change
}catch (InterruptedException e) {}
}
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_RIGHT){
moveRight();
}
}
}