【发布时间】:2023-04-09 10:53:01
【问题描述】:
我正在使用 XNA (C#) 开发 2D 平台游戏。 我想知道处理按住特定按钮的最佳方法。例如,您按住得越多,激光束就越大。
到目前为止,由于我已经在使用保存键盘最后两种状态的输入机制,因此我可以在每个更新周期进行额外检查以增加持续时间。但是,这种方法相当有限,因为它只处理一个特定的按钮(即触发按钮),它应该可以解决问题,但我想知道是否有更通用的解决方案来解决这个问题。
【问题讨论】:
-
据我阅读 XNA KeyboardState 文档可知,KeyboardState 类没有您所描述的限制。从MSDN Documentation 来看,您应该能够使用它来获取每个键的当前状态,无论按下了多少个键,也不管它们被按下了多长时间。也许您的输入代码有问题?
-
感谢您的检查,我自己确认了您的发现。而且我也知道输入机制,只是我在寻找更多的设计/架构解决方案。