我应该如何阅读键盘输入以在 WPF 中创建 2D 游戏?

Posted

技术标签:

【中文标题】我应该如何阅读键盘输入以在 WPF 中创建 2D 游戏?【英文标题】:How should I go about reading keyboard inputs for creating a 2D game in WPF? 【发布时间】:2019-06-11 11:41:55 【问题描述】:

我正在尝试使用 C# 创建一个 2D 游戏,并将其用作 WPF 应用程序。我的 XAML 只是一个带有 ImageGrid,在 CompositionTarget.Rendering 方法中被绘制到其中。我应该如何设置代码来读取用于移动精灵的击键?

作为一个附带目标,我还想为程序读取游戏手柄的输入,所以我想要一些不会导致以后控制器支持出现问题的东西。

【问题讨论】:

【参考方案1】:

你可以在你的 wpf 窗口中使用它:

<Window>
   <Window.InputBindings>
      <KeyBinding Key="Left" Command="Binding DoSomethingMoveLeftOrSo"/>
   </Window.InputBindings>
</Window>

在命令中你可以执行你的操作

【讨论】:

关于您的控制器问题,除非您告诉我们您打算使用哪种控制器,否则我们无法提供真正的帮助 什么意思什么种类?任何真正为 PC 制造的控制器、Xbox 控制器、Playstation,以及任何通用游戏控制器。 据我所知,它们都使用不同的 API,XBox 可能开箱即用,但它们的工作原理非常不同,从键盘开始,稍后添加第三方支持 我已经设法让 InputBindings 工作,但它只能让我一次按住一个键,如果我按下左键和上键之类的键,那么它只会执行最后一个键。

以上是关于我应该如何阅读键盘输入以在 WPF 中创建 2D 游戏?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 cocos2d 中创建色相(饱和度)选择器

如何在 WPF 中创建可折叠面板

将屏幕空间转换为世界空间以在 python 中创建点云

如何在 xcode 4.3.2 中创建 plist 文件

输入新字段时如何在 WPF DataGrid 中自动生成 ID

如何在 WPF 中创建动态变化的表?