Ogre를 사용하여 첫 번째 3D 게임을 만들려고 시도하면서 일반적인 "객체"클래스를 작성하기 시작했습니다. 생성자 :클래스의 게임 객체 캡슐화
Object(const char* mesh, Ogre::SceneManager*& sm)
{
...
_sn = sm->getRootSceneNode()->createChildSceneNode(_sn_name);
_ent = sm->createEntity(_ent_name, mesh);
_sn->attachObject(_ent);
...
}
_sn는 SceneNode에 *의 존재 및 엔티티 *을 (사립) _ent. 문제는 아무것도 화면에 그려지지 않는다는 것입니다. 내가 사용하는 경우 는하지만 : 클래스의
Ogre::Entity *map = mSceneMgr->createEntity("map","map.mesh");
Ogre::SceneNode *sc = mSceneMgr->getRootSceneNode()->createChildSceneNode("mapNode");
sc->attachObject(map);
외부 객체가 그려 모든 것이 작동됩니다.
내 접근 방식에 어떤 문제가 있으며 어떻게 해결할 수 있습니까?
왜 포인터 참조를 매개 변수로 사용하고 있습니까? 그렇게 할 특별한 이유가 있습니까? –
불필요한 복사 (?)를 피하기 위해 간단한 포인터/설명을 사용해 보았지만 작동하지 않습니다. – user1233963
당신은 잘못했거나 잘못 했어요. 두 옵션 모두 복사를 피할 수 있습니다. 둘 다 필요하지는 않습니다. –