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();
如果有誰知道什麼可能導致這或替代方法我真的很感激了!我一直盯着桌子,試圖找出這個問題!