필자는 win 형태로 스네이크 게임을 만들려고했는데 화살표 키를 사용하여 이벤트 처리로 버튼 도구를 움직이는 데 어려움을 겪었습니다. 누군가가 내게 어떻게 작동하는지 설명 할 수 있다면 매우 도움이 될 것입니다.스네이크 게임 승 양식
답변
매우 제한된 정보를 통해 일반적으로 게임이 포함 된 양식의 KeyDown 이벤트를 처리하는 방법이 필요합니다. 양식에 포커스가있는 동안 키를 누를 때마다 누를 때마다이 이벤트가 발생합니다. (KeyPress 이벤트는 키를 누르기 전에 키를 눌렀다 놓아야합니다. 동일한 작업을 수행하면 KeyDown과 KeyUp도 함께 발생합니다).
KeyDown 이벤트를 처리 할 때 KeyEventArgs의 KeyData 속성을 검사하십시오. 이 속성 (읽기 전용)은 플래그가 지정된 열거 형입니다. 즉 사용 가능한 값의 조합을 가질 수 있습니다. Keys.Up, Keys.Down, Keys.Left 및 Keys.Right 중 하나 이상이 눌러져 있는지 확인해야합니다. 화살표 키입니다. 사용자가 다른 키 열거 형 값을 가진 숫자 키 8, 2, 4 및 6을 각각 사용하도록 허용 할 수도 있습니다. KeyData에이 중 하나가 있으면 Snake가 이동하는 방향을 변경하고 KeyEventArgs의 Handled 속성을 true로 설정합니다. 그러면 키 프레스에 응답하는 다른 코드가 진행되지 않습니다. 이렇게하면 화살표 키와 관련된 기본 동작이 문제를 일으키는 것을 방지 할 수 있습니다.
사용자가 여러 개의 화살표 키를 누를 수 있음을 이해하십시오. 해당 키가 반대 방향이거나 한 방향으로 이동하지 못하는 경우이 상황을 처리하는 방법을 결정해야합니다. 간단한 해결책은 아무 것도하지 않는 것입니다. 더 복잡한 솔루션은 현재 눌려져있는 화살표 키를 추적하고, 여러 화살표 키가 눌려진 경우 하나 이상의 키가 해제되었을 때 알려주는 KeyUp 이벤트를 수신하고 한 키가 눌러 진 경우에만 방향을 변경하는 것입니다.
내 정보가 부족해서 죄송합니다. 이곳에서 꽤 새로운 것이지만, 귀하의 도움에 감사 드리며 그것을 조사하고 프로젝트 처리 방법을 알아 내려고 노력합니다. – david1597
- 1. 스네이크 게임 프로그램
- 2. 스네이크 게임 - 충돌 오류
- 3. 스네이크 게임 Java GUI
- 4. VB.NET - 스네이크? 게임 - 개발
- 5. 스네이크 게임 디자인
- 6. 조립품의 스네이크 게임
- 7. Vb2010 - 스네이크 게임 문제
- 8. 파이 게임 스네이크 음식 생성기
- 9. 스네이크 게임, 어떻게 뱀을 움직이게할까요?
- 10. 스네이크 게임 다음 세그먼트 (그리드 기반이 아님)
- 11. 스네이크 재 작성 시도 - 스네이크 자체가 먹는다
- 12. 스네이크 게임 - 이미지로 작업 할 때 충돌이 발생합니다.
- 13. 헤드 용 이미지 파일로 HTML5 스네이크 게임 수정
- 14. 탄성/스네이크 라인 알고리즘
- 15. 어레이 할당 스네이크
- 16. PHP는 MySQL의 업데이트 승 양식 유효성 검사 - 가장 좋은 방법은?
- 17. 스네이크 게임에서 닫힌 직사각형 방식으로 이동하는 방법
- 18. 일치 테이블 승/
- 19. OpenCL 라이브러리 위치 승
- 20. 승 폼 : 객관식 버튼
- 21. 승 폼 내에서 새 클래스를 코딩하는 방법
- 22. 파일 열기 스트림 승 API
- 23. 피벗 테이블 승/출력 기능
- 24. 데이터베이스 - 승 제한/여러 사용자
- 25. XAMPP 승 7 캐시 디렉토리
- 26. 디버깅 (승) : DIA DBGHELP 대
- 27. htaccess로 재 작성 GoDaddy와 승/
- 28. 수정 된 안드로이드 스네이크 예제의 이상한 문제
- 29. 게임 수에 따른 가중치 승률
- 30. 웹 사이트는 윈도우 7 승/IE7에 렌더링하지만 승 IE7에 정지/윈도우 XP
질문을 편집하여 현재 시도한 코드를 표시하십시오. –
"버튼 도구"란 무엇입니까? –