0

我有一个关于使用图形层时使用抽象层的问题。

例如,我用 SFML 2.0 用 c++ 编写了一些游戏。当我写我的游戏时,我会写一个我使用的纯虚拟类。例如,类 SfSprite 继承自纯类 Sprite。

使用它的好处是我可以非常简单地切换图形库。我只使用纯类(在本例中为“Sprite”)。

现在我将在IOS上开发游戏。所以我的问题是:

  • 我可以用目标 C 中的协议实现这种模式吗?

  • 是否建议在 ios 游戏中实现此模式?

4

1 回答 1

0
  1. 是的,您可以使用协议。协议声明接口;抽象类也这样做。您可以出于相同目的使用协议,但从技术上讲,它们与抽象类不同。
  2. 这种模式与游戏无关。游戏编程中没有什么特别推荐或不鼓励使用协议的。

Cocos2D-iphone 本身在许多类中都使用了协议。

为什么你有切换库的目标?与创建游戏相比,您将花费更多时间在抽象上,而且更改库的任务仍然不简单。不同的库有非常不同的接口。

在一个游戏项目的持续时间内坚持使用单个引擎,然后在确实需要时从另一个引擎重新开始会更好吗?支持多个平台(iOS、Android 等)的可能性比将您自己的代码从一个库切换到另一个库更重要。

于 2013-09-11T15:02:36.767 回答