【发布时间】:2017-06-12 11:00:20
【问题描述】:
我对 Ogre 中的 sdkTrays 有一些严重的问题。
我的 OgreKinectGame 继承自 BaseApplication。 BaseApplication 正在使用 sdkTrayManager 创建徽标等。我认为这个 mTrayMgr 是继承的,也可以在我的应用程序中使用。
我正在尝试为 HUD 设置小部件,但遇到未处理的异常错误。
我的 setupWidgets() 函数如下所示。
void OgreKinectGame::setupWidgets()
{
if(!mTrayMgr)
mTrayMgr = new SdkTrayManager("InterfaceName", mWindow, mMouse);
//mTrayMgr->destroyAllWidgets(); this caused exceptions as well
// create check boxes to toggle the visibility of our particle systems
const int WIDTH_UI = 160;
// main menu
mTrayMgr->createLabel(TL_CENTER, "mMainMenuLabel", "Main Menu", WIDTH_UI);
mTrayMgr->createButton(TL_CENTER, "mOptionButton", "Option");
mTrayMgr->createButton(TL_CENTER, "mCreditButton", "About");
mTrayMgr->createButton(TL_CENTER, "mQuitButton", "Quit");
mTrayMgr->showAll();
【问题讨论】:
-
您的应用程序能否成功加载包含所有 GUI 相关资源的 SdkTrays.zip 存档?如果不是,那可能是游标访问引起问题的原因。检查 Ogre.log 中的错误/异常。