2011-05-05 60 views
2

我知道,你可以设置操作,如果用户按下SET键,在我的情况下逃生,像这样的东西来触发:我可以在C++中强制使用Espress键“按下”吗?

transitions.push_back(new KeyTransition("GameMode", OIS::KC_ESCAPE)); 

我想知道的是,如果我能有节目“想“退出键已被按下,即使没有。例如,当用户点击一个按钮时,程序会模拟退出键已被按下并触发附加的事件。

+2

什么平台?食人魔? – 2011-05-05 15:44:29

+0

呃,是的,我们有食人魔,但我认为它主要用于艺术方面。 – Briz 2011-05-05 15:46:26

回答

4

做到这一点的一种方法是将其绑定到特定的按键事件,而不是将其绑定到特定的按键事件。

所以有一个像Cancel()GoBackOneScreen()等方法,无论是ESC正在做什么。然后您可以按ESC键拨打电话GoBackOneScreen(),当您需要模拟ESC键按下时,只需调用GoBackOneScreen()方法即可。

+0

这将是一个很好的方法,但是对于我正在开发的程序,尝试使方法执行与该小行相同的功能非常复杂。 – Briz 2011-05-05 15:45:25

+0

这是我们的程序构建的方式。我的老板亲自写了这段代码。 – Briz 2011-05-05 15:51:05

+0

了解......自从我完成了C++之后,我只是想以一种更易于管理的方式抛弃它。 – taylonr 2011-05-05 15:52:16

-1
//To force user to press escape key 
#include<iostream.h> 
#include<conio.h> 
void main 
{ 
    cout<<"press escape to exit\n"; 
loop: 
    if(getch()==27); 
    else 
    { 
     if (getch()==27); 
     goto loop; 
    } 
} 
+1

嵌套'if(getch()== 27)的目的是什么;'?吞下一把钥匙(不管它是什么),然后总是跳到'loop'。该代码也没有回答这个问题。 OP正在尝试模拟一个退出键,直到用户按下它才停止循环。 – forsvarir 2011-05-23 08:40:11

相关问题