1

iOS 上的一个游戏就是这样用的:有一个金属球,ballRect是 Model 类的一个属性,而对应ball的是 a UIImageView object,是ViewController类的一个属性。

是否可以进行这种设计以使两者ballRectball成为 Model 类的属性?在其他游戏示例中,我只看到ViewController该类的 2 个属性:模型对象和计时器对象。而已。我想知道为什么这一次,有额外的属性变成了ViewController类,他们应该去 Model 类吗?

4

2 回答 2

1

我写了一篇关于 gamasutra 的文章,用于在游戏中应用 MVC 模式。它是用 C++ 编码的,但您可以轻松地将这些概念转移到任何其他语言。

我希望它对你有用。

http://www.gamasutra.com/blogs/IvicaAracic/20100919/88083/Applying_the_ModelViewController_Pattern.php

问候, 伊维卡

于 2012-04-21T11:25:57.767 回答
1

制作一个包含指向 Ball(模型)的指针并托管显示球精灵的图像视图的 BallView 会更有意义。BallView 应该观察 Ball 的ballRect,并且当它发生变化时,更新它的(BallView 的)frame以匹配。

这种安排可以让您添加其他类似的关系。例如,如果有不同种类的球,并且一个球可以从一种变为另一种(例如,为了临时加电),BallView 可以观察球并在球发生变化时kind改变图像视图。imagekind

于 2012-04-21T03:37:53.633 回答