こんにちは、私は小さな正方形を上下左右にスムーズに動かす簡単なプログラムを書こうとしています。
このままでは、正方形は確かに 4 方向に移動しますが、正方形の方向を変更しようとすると顕著な遅延が生じます。最終的には「レンガ」ゲームに似た小さなゲームを作成する予定ですが、そのためにはオブジェクトがスムーズに動く必要があります。これを達成する方法について誰かアドバイスをもらえますか?
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseListener;
public class FutureGame extends Applet implements KeyListener{
int deltax;
int deltay;
public void init(){
deltax = 0;
deltay = 0;
this.addKeyListener(this);
}
@Override
public void keyPressed(KeyEvent ke) {
if(ke.getKeyCode() == ke.VK_RIGHT){
deltax = deltax +10;
}
if(ke.getKeyCode() == ke.VK_LEFT){
deltax = deltax - 10;
}
if(ke.getKeyCode() == ke.VK_UP){
deltay = deltay - 10;
}
if(ke.getKeyCode() == ke.VK_DOWN){
deltay = deltay +10;
}
this.repaint();
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void paint(Graphics g){
g.drawRect(deltax, deltay, 10, 10);
}
}