之前的教程只涉及鼠标点击的相关内容,今天我入手了一款游戏手柄——【有线版】北通蝙蝠2游戏手柄(BTP-BD2E),价格非常便宜65块人民币。该手柄支持XBox One,XBox360,PC,android,steam等支持四种模式。更重要的是能够用它来开发MonoGame游戏!

 

image

使用方法非常简单,买来后拆开包装,将USB线插入电脑。默认就是PC360模式。如果不是请长按 image 键,将模式切换到【PC360模式】手柄面板正下方指示灯显示为image 。更多模式如下图:

image

打开Visual Studio,【文件】【新建】【项目】

image

选择【MonoGame Windows Project】如果你想开发XBox One游戏可以选择【MonoGame Windows 10 Universal】项目,项目名称修改为【MyGamePad】点击【确定】

image

在解决方案管理器中双击【Game1.cs】

image

找到Update方法,在方法中输入

以上代码是判断手柄的按钮是否按下了A键,Buttons是一个枚举类型,列出了手柄上的所有按钮。IsButtonDown也可以用gamePad.IsButtonUp代替即按下后释放按钮。

也可以通过判断Button的状态来判断是否按下了按钮,代码如下:

还可以通过Button的状态是否为释放状态来判断是否按下按钮,代码如下:

 

为了检测手柄对应的按钮名称,我写了 一个方法来测试。将以下代码替换之前的代码:

点击【启动】

image

当按下手柄上的各个按钮,在输出窗口就会出现相应的按钮名称

image

手柄的详细按键名称如下图:

640

游戏手柄的用法在MonoGame中就是这么简单!

经过测试在Linux平台,该手柄同样支持:

image

完整代码如下:



如果您对C#游戏开发感兴趣,可以扫下面二维码加入我们的QQ群来一起学习交流

原创文章,转载请注明本文链接地址(违者必究):C#开发跨平台游戏——在MonoGame/XNA中使用游戏手柄GamePad