【发布时间】:2013-11-12 01:50:25
【问题描述】:
在 SFML 中是否有 getchar() 的等价物?我试过 getchar() 和 getch() 但它们只适用于控制台窗口,而不是图形窗口。
【问题讨论】:
在 SFML 中是否有 getchar() 的等价物?我试过 getchar() 和 getch() 但它们只适用于控制台窗口,而不是图形窗口。
【问题讨论】:
查看events 在 SFML 中的工作方式。尤其是TextEntered。
【讨论】:
要回答您的问题“是否有 getchar(); ,不是真的。 SFML 是事件驱动的,因此您确实需要检查窗口的键盘事件。
您可以创建一个函数来发送密钥并进行切换。 我有一本“SFML 游戏开发”的游戏书使用这样的代码。 您还可以检查其他内容,例如是否按下了 shift 键,以及如果是这种情况该怎么办。
std::string toString(sf::Keyboard::Key key)
{
#define KEYTOSTRING_CASE(KEY) case sf::Keyboard::KEY: return #KEY;
switch(key)
{
KEYTOSTRING_CASE(Unknown)
KEYTOSTRING_CASE(A)
KEYTOSTRING_CASE(B)
KEYTOSTRING_CASE(C)
KEYTOSTRING_CASE(ect...)
}
return"";
}
【讨论】: