vb.net - 多人使用 VB.NET 中的事件玩游戏

标签 vb.net events event-handling

我正在创建其中一款游戏,其中有 2 个玩家,每个玩家控制各自的上下移动的方 block ,以及一个弹跳的球,目标是让球落在玩家单位后面并接触墙壁(如果有帮助的话,它是 Wii Play 上的游戏 =D)

我面临的问题是我使用事件,例如Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown。简单的东西。

之前,我只制作过单人游戏,所以这并不是什么大问题(但它阻止我沿对角线移动等,因为两个单独的事件没有一起处理,而是分开处理)。那么问题是什么?那么,如果两个玩家同时按下多个键,这将如何处理?

TL;DR:有多个关键事件同时发生。我该如何一次性处理它们?

最佳答案

假设您通过 Windows 应用程序(而不是网站)执行此操作。

要同时处理多个按键,您不能通过按键事件来执行此操作。 相反,创建一个触发/执行函数(非常快)的 Timer 对象。 在该函数中,使用 System.Windows.Input 命名空间中的 Keyboard 类,特别是 isKeyDown() 方法。

If Keyboard.IsKeyDown(Key.Up) And Keyboard.IsKeyDown(Key.Right) Then
    'Do something to move Up-right
End If

干杯。

关于vb.net - 多人使用 VB.NET 中的事件玩游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085467/

相关文章:

c# - winform进度条运行期间执行代码

vb.net - 非常基本的 VB.Net 和串行 IO 问题

c# - .Net 中不可变类型的示例

php - Symfony 2.4 : Why are 500 errors not caught by kernel. 异常监听器

javascript - :not(. 是否被禁用)对于事件处理程序总是必要的?

vb.net - 当单元格内容被截断时,将三个点(省略号)(...)更改为 VB.Net DataGridView 中的自定义字符

java - 事件调用不适用于按键绑定(bind)或单击 - 逻辑错误是什么?

python - 如何通过发布事件设置 wx.combobox 的值

event-handling - 如何在 ExtJS 4 中以编程方式触发 keydown 事件

javafx,从另一个 setOnAction 调用元素的 setOnAction 处理程序?