I am in the process of working through a simple tutorial for a game. When I press a button to increase the velocity the player disappears while if I add to the Y / x value it works as desired. Im assuming my problem is to do with there being something wrong with the key release part of the code. Anyways here it is if anyone could help me that'd be ideal. Thanks
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
for (int i=0; i<handler.object.size(); i++) {
GameObject tempObject = handler.object.get(i);
if (tempObject.getId() == ID.Player) {
//Key Events for player 1
if(key == KeyEvent.VK_W) tempObject.setY(tempObject.getY() -2);
if(key == KeyEvent.VK_S) tempObject.setVelY(2);
if(key == KeyEvent.VK_A) tempObject.setVelX(2);
if(key == KeyEvent.VK_D) tempObject.setVelX(-2);
}
if (tempObject.getId() == ID.Player2) {
//Key Events for player 2
if(key == KeyEvent.VK_UP) tempObject.setVelY(-5);
if(key == KeyEvent.VK_DOWN) tempObject.setVelY(5);
if(key == KeyEvent.VK_RIGHT) tempObject.setVelX(5);
if(key == KeyEvent.VK_LEFT) tempObject.setVelX(-5);
}
}
}
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
for (int i=0; i<handler.object.size(); i++) {
GameObject tempObject = handler.object.get(i);
if (tempObject.getId() == ID.Player) {
//Key Events for player 1
if(key == KeyEvent.VK_W) tempObject.setVelY(0);
if(key == KeyEvent.VK_S) tempObject.setVelY(0);
if(key == KeyEvent.VK_A) tempObject.setVelX(0);
if(key == KeyEvent.VK_D) tempObject.setVelX(0);
}
if (tempObject.getId() == ID.Player2) {
//Key Events for player 2
if(key == KeyEvent.VK_UP) tempObject.setVelY(0);
if(key == KeyEvent.VK_DOWN) tempObject.setVelY(0);
if(key == KeyEvent.VK_RIGHT) tempObject.setVelX(0);
if(key == KeyEvent.VK_LEFT) tempObject.setVelX(-0);
}
}
}