실제로 @ Nammari가 맞습니다. 엔진 내부에서 마이크로 회전을 시뮬레이션하는 스프라이트를 움직이는 루프가 있습니다. 모든 스프라이트는 속도가 빨라집니다.
이 루프 안에는 충돌을 테스트하고 불필요한 스프라이트를 제거하기 만하면됩니다.
모든 활동은 활동 자체와 분리 된 클래스에서 이루어져야합니다.
그럼에도 불구하고 질문에 더 많은 관심이 있습니다. 예를 들어 충돌 카운터가 증가하고 화면이 깜박이는 등의 충돌이 일어 났음을 활동에 알리고 싶을 때 더욱 흥미가 있습니다.
글쎄, 그건 명백한 질문이 아니에요. 실제로 이것을 어떻게 깔끔하고 깨끗한 방법으로하는지 궁금해하는 것이 좋습니다.
가장 좋은 대답은 소프트웨어 아키텍처와 같은 새로운 세상에 진입한다는 것입니다. ;) 네, 이제는 더 이상 "코딩"에 관한 것이 아니라 깨끗한 방법 (그리고 아름다움과 예술이지만 실제로는 더 철학적 인 문제 일 수 있습니다)에 관한 것입니다. 이 경우
, 당신은 적당한 장소에 배치되는 관찰 관찰자 디자인 패턴을 어떻게해야하나요 :
는
- 게임 엔진 (스프라이트를 이동 "규칙"을 알고 책임이있는 클래스)는이되고있다 이벤트 소스
- "게임 수신기"에 대한 인터페이스를 정의해야합니다.이 단계에서 충돌이 감지되었습니다.
- 엔진에는 강력한 캡슐화와 청취자를 추가 및 제거하는 두 가지 공용 메소드가있는 리스너 목록이 있어야합니다.
- 또한 이벤트를 발생시키는 개인/보호 된 메소드가 있어야합니다. 등록 된 모든 리스너를 반복하고 "충돌 감지 됨"메소드를 호출합니다.
- 다음보기에서 작은 내부 클래스를 만들고 수신기 인터페이스를 구현하십시오. 그것을 엔진 사이에 설치하고 등록하십시오.
기본 아이디어입니다. Here은 그 모든 것에 대한 훌륭한 소개 용 예입니다.
게임이 어떻게 움직이는가 ??? 당신은 게임 루프가 있습니까 ??? 장면을 렌더링하는 데 사용하는 코드를 게시하십시오. – confucius