XNA를 사용하여 Windows 7 Phone 용 2D 스프라이트 기반 게임을 개발하는 중입니다. 사용할 수있는 교육 및 자습서는 매우 유용하지만 내가 직면 한 문제는 각각 클래스 디자인에 다르게 접근하고 코드가 잘 구성되어 있지 않다는 것입니다. 결과적으로 특정 수업에 어떤 책임을 부여해야하는지 잘 이해하기가 어려웠습니다.
예를 들어, BaseSprite
자체 그리기, 충돌 확인 등을 알고 있는 기본 스프라이트 클래스 를 가질 수 있습니다. 그런 다음 AnimatedSprite
스프라이트 시트, ExplodingSprite
클래스 등 을 탐색하는 방법을 알 수있는 클래스 를 가질 수 있습니다 . 이 기술은 Windows 7 Phone Jumpstart Session 2 자료 의 Space Invaders 예제 에서 설명합니다 .
다른 방법으로, 나는 GameScreen
수업에 게임 책임을 대량으로 렌더링하고 실행할 수 있습니다 . 해당 클래스와 파생 클래스는 책임 측면에서 양식이나 웹 페이지와 유사하게 작동합니다. 스프라이트 클래스는 로직이 훨씬 적은 더 간단한 컨테이너입니다.
이것은 Windows 7 Phone Training Kit 의 Alien Sprite 게임 및 기타 게임 상태 관리자 예 에서 사용되는 기술 입니다.
게임 개발에서 클래스 디자인에 대한 올바른 객체 지향 접근법은 무엇입니까?