【发布时间】:2011-05-19 16:07:31
【问题描述】:
我有一个奇怪的错误,似乎只有在程序不是从终端执行时才会发生。这是我的项目: https://github.com/elliotpotts/Troll/ https://github.com/elliotpotts/Troll/issues/2
查看Troll::State::keyPressed() 函数。出于某种原因,当我从终端运行程序时,一切都很好并且应用程序存在,但是当我将它作为 GUI 程序运行时,应用程序不会退出。我想不出为什么。在此先感谢,呃。
编辑:很抱歉没有添加 Ogre 标签,也没有发布 keyPressed 函数,这里是:
void Troll::State::keyPressed(const OIS::KeyEvent& event){
if(event.key == OIS::KC_Q) {
mCreator->stop();
};
};
我也试过添加文件输出来测试它:
void Troll::State::keyPressed(const OIS::KeyEvent& event){
std::cout << "Q was pressed" << std::endl;
std::fstream file("log");
file << "Q was pressed";
file.close();
if(event.key == OIS::KC_Q) {
mCreator->stop();
};
};
从终端运行时,此方法有效,否则无效。补充说明一下,我目前还没有正在尝试修复的功能调试器。埃尔。
【问题讨论】:
-
抱歉,帮不上忙,但也许添加 ogre 标签可能会引起合适人的注意。
-
你能在这里复制/粘贴
keyPressed()的定义吗? -
也许 GUI 框架有自己的 KeyEvent 处理程序来获取密钥?
-
您使用的是哪个 GUI 框架?你是如何通知按键的?
-
我没有使用 GUI 框架,只使用了输入系统。但是我最近发现问题是由我的IDE引起的。我应该把它放在答案中并将其标记为正确吗?