目前,我正在ogre3d的一个pcg城市工作,基本上接近一个房间标记为一个城市将在那里孕育一个城市。然而,我有点不知所措,不知道如何将建筑物“存储”成一个数组,并检查它们的位置以处理碰撞。在这个方法中,我得到了建筑物需要生成的飞机的大小,然后我创建了一个_cityNode,它将容纳所有的建筑节点。这些被设置在for-循环中。在buildings变量中,我尝试在数组中获取buildingNode,以便在另一种方法中检查碰撞。我基本上有两个问题:
发布于 2017-04-07 12:45:28
您可以使用任何STL容器,Ogre::SceneNode*与它们完全兼容。
例如,您可以在std::vector中收集节点,如下所示
std::vector<Ogre::SceneNode*> buildings_;
for (int i = 0; i < _numberOfBuildings; i++)
{
/* ... */
buildings_.push_back(buildingNode);
}然后访问它们就像
for (auto i : buildings_) {
Ogre::Vector3 buildingpos = i->getPosition();
Ogre::Vector3 buildingscale = i->getScale();
}https://stackoverflow.com/questions/43259085
复制相似问题