In my game, I am trying to make the character switch sprites after a certain time. When I simply press and release a button, it switches sprites no problem. However, when I try to hold the button, it take a second or so to start changing the sprite.
Try it out here -
http://www.mediafire.com/?5vjgsqo30y5dmo0
Sprite switching code -
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
if (key == KeyEvent.VK_A)
{
if ((key2 != 2) && (key2 != 3) && (key2 != 4))
{
if (imgSwitchHoriz) player = leftRunning.getImage();
if (!imgSwitchHoriz) player = leftStill.getImage();
key2 = 1;
dx = negChange;
if (imgSwitchHoriz) imgSwitchHoriz = false;
else if (!imgSwitchHoriz) imgSwitchHoriz = true;
}
}
if (key == KeyEvent.VK_D)
{
if ((key2 != 1) && (key2 != 3) && (key2 != 4))
{
if (imgSwitchHoriz) player = rightRunning.getImage();
if (!imgSwitchHoriz) player = rightStill.getImage();
key2 = 2;
dx = posChange;
if (imgSwitchHoriz) imgSwitchHoriz = false;
else if (!imgSwitchHoriz) imgSwitchHoriz = true;
}
}
if (key == KeyEvent.VK_W)
{
if ((key2 != 1) && (key2 != 2) && (key2 != 4))
{
if (imgSwitchVert) player = up.getImage();
if (!imgSwitchVert) player = up2.getImage();
key2 = 3;
dy = negChange;
if (imgSwitchVert) imgSwitchVert = false;
else if (!imgSwitchVert) imgSwitchVert = true;
}
}
if (key == KeyEvent.VK_S)
{
if ((key2 != 1) && (key2 != 2) && (key2 != 3))
{
if (imgSwitchVert) player = down.getImage();
if (!imgSwitchVert) player = down2.getImage();
key2 = 4;
dy = posChange;
if (imgSwitchVert) imgSwitchVert = false;
else if (!imgSwitchVert) imgSwitchVert = true;
}
}
if (key == KeyEvent.VK_ESCAPE) main.menuInit();
}