문제가 있습니다. 화살표를 누를 때 호출되는 몇 가지 간단한 함수를 구현했습니다.두 개의 화살표가 감지되지 않음 - 자바 스윙
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT)
{
double t = p.getAngle();
if(p.getIsTurning())
t+=3;
else
t+=6;
p.setAngle(t);
p.setIsTurinig(true);
}
else if(key == KeyEvent.VK_UP)
{
p.setVelX(p.getVelX()+p.getAcceleration());
p.setIsAccelerating(true);
}
}
위쪽 화살표를 누른 다음 왼쪽을 누르면 모든 것이 잘 작동합니다. 그러나 왼쪽 화살표를 누른 다음 위쪽 화살표를 누르면 위쪽 화살표 기능 만 감지됩니다.
무엇이 문제를 일으킬 수 있습니까?
물론 첫 번째 else if이어야합니다. – chodi
그런 다음 코드를 편집하여이를 나타내야합니다. – DevilsHnd
KeyListener를 사용하지 마십시오. 특정 이벤트를 처리하려면'Key Bindings '를 사용해야합니다. 동시에 여러 키를 눌러 작동하는 자세한 정보 및 작동 예제는 [키보드를 사용한 동작]()을 참조하십시오. – camickr