我想显示图像,只要按住一个键即可。 如果不再按该键(KEYUP),则图像应消失。 在我的代码中,当我按住该键时,图像会出现,但我不会立即消失。 任何人都知道为什么只要按住我的键就不能显示图像? 提前致谢!! ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我正在尝试学习XNA游戏编程,现在我想等待按键被按下时执行的测试:
while (IsKeyPressed = Keyboard.GetState().IsKeyDown(key));
但是当释放键时IsKeyPressed也是如此
该代码实际上是自旋锁。 不要使用自旋锁 。
您看到的错误很可能是由于您正在使用自旋锁,因此没有机会正确更新。
相反,您应该阅读所按下的键,并在与停止处理相关的任何类中设置状态( if
检查Update
函数, if
可能很简单)。 然后,当您检测到释放时,便更改状态,以便if
检查通过。
就像是:
//Main Update
if (Keyboard.GetState().IsKeyDown(key))
myObject.Wait();
else
myObject.Continue();
//Other object
public void Wait()
{
waiting = true;
}
public void Continue()
{
waiting = false;
}
public void Update()
{
if (!waiting)
{
//Update state
}
}
您总是可以检查以前的状态,以避免重复调用Wait
and Continue
,但是这将对所提供的代码进行微优化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.