cocos2d and MVC

4
在我正在使用cocos2d制作的游戏中,我有一个NSObject的子类,其中包含了一些细节,例如赛车的速度,这就是模型。但是,我不清楚控制器(Controller)和视图(View)是什么?我唯一拥有的其他类是CCLayer的子类。在这个类中,我有加速计委托方法来移动精灵,init方法将精灵添加到场景中。
我认为,在NSObject的子类中引用汽车的精灵是错误的,因为那里只保存了汽车的细节。
那么,在使用cocos2d时,什么是视图和控制器?
(例如,在传统应用程序中,Model通常是NSObject的子类(或者只是一个数组或字典),Controller是UIViewController的子类,而View是UIView的子类)
2个回答

5

我将模型作为一个自定义类来继承NSObject,视图作为一个CCLayer,其中包含CCSprites,而控制器作为一个CCScene,连接多个模型和视图。


你的模型和视图是否有对场景的引用,或者你使用了某种事件系统? - Danyal Aytekin

3

我这样看,CCLayer是你的视图,而自定义类则是模型。我认为在模型中存储精灵(sprite)没有任何问题,因为它代表了模型的可视化方面的数据。如果你的模型有一个通用的抽象接口,并且你有一个连接模型和CCLayer的单独类,那么它就是你的控制器(controller)。如果你的模型和CCLayer直接连接,那么这种情况就是将模型和控制器合并的情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接