我正在创建其中一款游戏,其中有 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/