728x90
지금 자바 수행평가 과제로 격투게임을 만들고 있다.(TMI -> 12일 남음;;; 게다가 js프로젝트 과제랑 겹침;;;;;; 그나마 2명에서 같이 하는 플젝이라 다행 ㅎ)
문제 해결🧨
게임 플레이 도중 키 입력을 받는데 갑자기 키 입력이 안 될때가 있었다.
그리고 그 문제를 해결한 것 같다!
일단 난 게임에서 Canvas와 Frame을 함께 사용하였다.
Frame에는 버튼을 추가하고, 화면을 띄우는 역할을 하도록 했고, Canvas에서는 게임 플레이에서 그림을 그리는 용도로 사용하였다.
그리고 키 이벤트 리스너는 frame에 달아놨다.
근데 화면을 마우스로 클릭하면(이미지를 띄운. 캔버스의 영역) 그 뒤로는 키 입력이 먹질 않았다.
그래서 인터넷에서 찾아보니 frame의 focuse가 처음엔 frame에 맞춰져 있다 Canvas의 영역을 클릭하면서 focuse가 Canvas로 맞춰져서 키 입력이 안 된것 같다. 그래서 일단 Canvas를 setFocusable(false)로 설정해 보았다.(frame은 setFocusable(true))
🎇 그랬더니 문제가 해결되었다! (예이~) 🎇
근데 이것이 근본적인 원인인지는 잘 모르겠다.
그리고 setFocusable() 메서드가 정확히 어떤 역할을 하는지 모른다.
나중에 다시 찾아볼 수 있으면 찾아보고 더욱 자세히 정리해야겠다!