Sprite在Java 2D游戏中不会移动

时间:2014-09-17 11:55:36

标签: java 2d sprite move

我目前在使用我的2D游戏时出现问题。一切都适合我,直到最后。当我尝试移动精灵时,没有任何反应。 如果代替player.setVelY(-5);我使用player.setY(player.getY - 5);精灵移动,但为什么setVelX和setVelY不起作用? :/

这是我的KeyInput.java

的一部分
@Override
public void keyPressed(KeyEvent e){
   int key = e.getKeyCode();

   switch(BNeeto.state){
        case MENU:
            break;
        case GAME:
            if(key == KeyEvent.VK_W)
                player.setVelY(-5);
            if(key == KeyEvent.VK_S)
                player.setVelX(5);
            if(key == KeyEvent.VK_A)
                player.setVelY(-5);
            if(key == KeyEvent.VK_D)
                player.setVelX(5);
            break;
        case OPTIONS:
            break;
        case PAUSE:
            break;
        default:
            break;
        }
}

Player.java

package bneeto.entity;

import bneeto.gfx.Texture;
import bneeto.gfx.core.CoreObject;
import java.awt.Graphics;

public class Player extends CoreObject{

  public Player(int x, int y, int id, Texture tex){
    super(x, y, id, tex);
  }

  @Override
  public void tick() {
     x +=  velX;
     y +=  velY;
  }

  @Override
  public void render(Graphics g) {
      g.drawImage(tex.blockStone, x, y, null);
  }
}

1 个答案:

答案 0 :(得分:1)

我猜你永远不会打电话给tick()