|
1.7以上的版本有对地形和射线查询进行了更改,以前的实体查找是通过:
if (it->movable && it->movable->getName().substr(0, 5) != "tile[")
{
if (it->movable->getName()=="spider")
it->movable->getParentSceneNode()->showBoundingBox(true);
IsDogChoose=true;
CurName=it->movable->getName();
break;
}
这中方式查找,但是新版本是通过:
Vector3 node=mNode->getPosition();
Ray ray1;
ray1.setOrigin(Vector3(node.x, mTerrainPos.y + 1000, node.z));
ray1.setDirection(Vector3::NEGATIVE_UNIT_Y);
TerrainGroup::RayResult rayResult1 = mTerrainGroup->rayIntersects(ray1);
if (rayResult1.hit)
{
mNode->setPosition(Vector3(node.x,rayResult1.position.y-2,node.z));
}
这种方式查找,这个可以查询位置,但是怎么查找在场景中的某个实体呢?一直没找到办法,希望哪位高手用过的,或者知道的帮帮我……
[em17] |
|