嗨朋友们,我正在尝试编写一个简单的程序,该程序将平滑地向右、向左、向上和向下移动一个小方块。
实际上,正方形确实会在四个方向上移动,但是在尝试改变正方形的方向时会有明显的延迟。我计划最终编写一个类似于“砖块”游戏的小游戏,但为了做到这一点,我的对象必须平稳移动。有人可以就如何实现这一目标给我一些建议吗?
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);
}
}