十字キーを押すと、画像を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();
}
}
}
であれば私も知りません
を+1 [javax.swing.Timer'](ここではhttp:// stackoverf low.com/q/9849950/230513)は、この文脈では 'SwingWorker'に代わるものです。 – trashgod