0

我正在使用 Ogre3 尝试构建一个 Spawner,它会自动创建 Enemy 的副本并将它们放入世界中。除此之外,我想保存一个行为函数,以便在生成实体时,它会在它被放入世界时立即参与该行为。我想知道这是否可以做到。我正在考虑用这样的签名重新分配函数指针:

void setBehavior(void (*behavior)(Enemy))

然后将行为保存在某处。任何想法我可以如何做到这一点?

4

1 回答 1

0

阅读“策略”设计模式。

实现方面的函数指针可能就足够了,更常见的是让类层次结构实现不同的策略并传递其实例——存储在unique_ptr<IStrategy>或类似的东西中。std::function也值得考虑。

于 2013-06-07T11:20:23.977 回答