1
我想制作一个简单的用户界面,其上有一些文本。我可以创建一个空面板并显示它,但是当我尝试创建TextAreaOverlayElement时存在运行时错误。食人魔:创建简单文本的问题用户界面
错误:OGRE EXCEPTIONS < 5:ItemIdentityException>:在..........无法找到工厂在OverlayManager元素类型的TextView :: createOverlayElement \组件\叠加\ SRC \ OgreOverlayManager.cpp
这是我所创建的代码:
Ogre::OverlaySystem* pOverlaySystem = new Ogre::OverlaySystem();
ogre_root_->getSceneManager("MySceneManager")->addRenderQueueListener(pOverlaySystem);
std::cout << "Into ui init" << std::endl;
Ogre::OverlayManager& overlayManager = Ogre::OverlayManager::getSingleton();
std::cout << "Got singleton" << std::endl;
// Create an overlay
Ogre::Overlay* overlay = overlayManager.create("OverlayName");
// Create a panel
Ogre::OverlayContainer* panel = static_cast<Ogre::OverlayContainer*>(overlayManager.createOverlayElement("Panel", "PanelName"));
panel->setPosition(0.5, 0.5);
panel->setDimensions(0.1, 0.1);
panel->setMaterialName("BaseWhite");
// Add the panel to the overlay
//Breaks on next line
Ogre::TextAreaOverlayElement* text = (Ogre::TextAreaOverlayElement*)((Ogre::OverlayContainer*)overlayManager.createOverlayElement("TextView", "TextArea"));
overlay->add2D(panel);
// Show the overlay
overlay->show();
如果有谁知道什么可能导致这或替代方法我真的很感激了!我一直盯着桌子,试图找出这个问题!