【发布时间】:2014-08-27 08:50:52
【问题描述】:
我正在使用 C++ 和 SFML 创建游戏引擎。我有一个名为character 的类,它将成为游戏中实体的基础。 physics 类也将处理角色移动。
我的问题是,创建一个指向在帧中移动的字符的指针向量是否更快。然后,每当一个函数移动一个字符时,它就会把它放在那个向量中。在physics 类处理完向量后,它会被清除吗?
或者,当函数移动character 时将bool 变量设置为true,然后在我的physics 类中使用if 语句来测试每个character 的移动是否更快?
编辑:
好的,我采用了另一种方法,其中Physics 类中的函数负责处理角色移动。在移动时,它会立即测试碰撞检测。如果发生碰撞,它会停止该方向的运动。
感谢大家的帮助
【问题讨论】:
-
如果你能检测到它,只存储指向移动字符的指针而不是(甚至位向量)检查每个移动的字符会更快。也取决于接下来会发生什么。
-
每个必须处理字符移动的函数,在移动一个字符时,都会在向量中放置一个指向它的指针。这是你的意思吗?
-
为什么每个角色都需要一个 bool 函数?
-
布尔值告诉物理课,是的,这个角色已经被移动了。然后物理课通过并测试所述运动的碰撞,如果不可能,则取消运动。
标签: c++ if-statement vector sfml