2011-02-22 4 views
4

게임에서 cocos2d를 사용하기 시작했습니다. NSObject의 하위 클래스에는 자동차의 속도와 같은 세부 정보가 포함되어 있으므로 모델입니다. 그러나 컨트롤러와 뷰가 무엇인지 혼란 스럽습니다. 내가 가지고있는 유일한 다른 클래스는 CCLayer의 하위 클래스입니다. 이 스프레이 주위에 스프라이트를 이동하는 가속도계 대리자 메서드가 있는데, init에서 장면에 스프라이트를 추가합니다. (?)cocos2d 및 MVC

NSObject의 하위 클래스에서 자동차의 스프라이트를 참조하는 것이 잘못되었다고 가정합니다. 그것은 차의 세부를 쥐고있다?

그래서 cocos2d를 사용할 때보기와 컨트롤러는 무엇입니까?

(예를 들어 기존 앱 모델은 일반적 NSObject의 하위 클래스 (또는 배열 또는 사전), 제어기는있는 UIViewController의 서브 클래스이다하고보기에 UIView의 서브)

답변

3

방법 CCLayer는 사용자의 시각이며 사용자 정의 클래스는 모델입니다. 모델의 시각적 측면을 나타내는 데이터이기 때문에 모델에 스프라이트를 저장하는 데 문제가 없습니다. 모델에 일반 추상화 된 인터페이스가 있고 모델과 CCLayer를 연결하는 별도의 클래스가 있다면 컨트롤러입니다. 모델과 CCLayer가 직접 연결되어있는 경우 모델과 컨트롤러를 병합하는 경우입니다.

5

NSObject를 하위 클래스로 사용하는 모델을 CCMLs라는 하위 클래스와 컨트롤러를 여러 모델과 뷰를 연결하는 CCScene으로 서브 클래 싱합니다.

+0

모델 및 뷰에 장면 참조가 있습니까? 아니면 어떤 종류의 이벤트 시스템을 사용하고 있습니까? –