2010-06-22 4 views
0

아이폰 게임을위한 MVC (Model View Controller) 디자인 패턴에 대한 질문이 있습니다.아이폰 MVC 게임 디자인 질문

내가 ViewController를 사용하는 간단한 게임을 가지고 있다고 가정 해 보겠습니다. 따라서이 뷰 컨트롤러에는 연관된 윈도우/뷰가 있으며이 뷰에서 버튼 슬라이더 등의 플레이어 입력을받습니다.

이제 ViewController의 메인 윈도우/뷰의 하위 뷰가 있고이 서브 뷰에서 다양한 폴리곤의 애니메이션을 실제로 수행합니다. 나는 또한이 하위 뷰에서 터치 이벤트를 원합니다.

내 질문은 하위보기에서 플레이어의 터치 입력이 회전 등을 직접 변경하는 애니메이션에 영향을주기 때문에 모든 사용자 터치 코드와 애니메이션 코드가 있습니다. 내 하위 뷰 클래스에는 많은 변수가 있습니다. MVC 디자인을 위반하고 있습니까? 이 물건을 다른 클래스 나 뷰 컨트롤러에 위임해야합니까?

많은 감사합니다.

답변

0

달성하려는 목표에 따라 다릅니다.

게임이 iPhone뿐만 아니라 일반적인 PC에서 실행되기를 원한다고 가정 해 봅시다.

분명히, 터치가 포함 된 iPhone 전용 코드를 모두 분리해야합니다. 두 버전의 게임에서 애니메이션을 원한다고 가정합니다. 컨트롤러의 일부이거나 모델 일 수 있습니다. 애니메이션을 렌더링하면 뷰의 일부가됩니다.

어떤 기능이보기에 속하고 어떤 기능이 컨트롤러에 속하는지 결정하는 가장 쉬운 방법은 응용 프로그램을 두 명의 다른 뷰어로 이식하는 것입니다. PC와 iPhone 일 필요는 없습니다. 그것은 안드로이드와 아이폰 일 수 있습니다. :-)

+0

고마워. 더 구체적으로, 내 사용자 정의 하위보기 touchesBegan 등 콜백이 있다면, 어떻게 내 컨트롤러 클래스와 통신 할 수 있습니까? – songBong

+0

터치가 달성 한 개념을 생각해보십시오. 귀하의 특정 응용 프로그램을 모르지만 확대, 축소, 이전 이미지 및 다음 이미지와 같은 일반적인 개념을 염두에 두십시오. 귀하의 견해는 접촉에 관한 것입니다. 컨트롤러가 응용 프로그램에 적용 할 수있는 개념을 처리합니다. –