上一篇我介绍了在MonoGame/XNA中触控(触摸)操作,今天这一篇是对触控(触摸)的补充——手势(用手指单击,用手指双击,用手指拖拽,双手指捏合,双手指放大,用手指轻弹,用手指常按等)。

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

image

【MonoGame】【MonoGame Windows 10 Universal(XAML)Project】,项目名称命名为【MyTouchPanelGesture】,点击【确定】

【MonoGame Windows 10 Universal(XAML)Project】提供的Windows10模拟器可以很好的测试手势操作,你也可以选择【MonoGame Android Project】【MonoGame iOS Project】只要你有一台带触摸的设备这些都不问题。

image

为了支持windows10所有用户,最低版本选择【Windows 10 (10.0;版本10240)】,点击【确定】

image

打开解决方案管理器中的Game1.cs文件

image

在Update(GameTime gameTime)方法中加入以下代码:

将【本地计算机】改为【模拟器】,点击【模拟器】运行

image

选择模拟器右侧的手型,这时候你会发现,无论点击蓝色窗口的任何位置,输出窗口都没有任何输出信息,这表示上面输入的代码没有被执行!

image

手势操作和之前的触控(触摸)有点不同,在使用之前必须显式打开一个开关:找到Game1类的构造方法,在方法体内加入:

建议:加入使用到的手势,每种手势用【|】隔开即可!比如只用到长按屏幕Hold,只需要加入:

由于带完整名称名称空间太长,可以在Game1.cs顶部使用

省略完整路径的写法。

点击【模拟器】运行

点击

左右滑动

上下滑动

双手指捏合

注:模拟器无法测试手指放大手势操作,这里还是建议用真机来开发游戏。可以用windows10平板

完整代码如下:

 



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

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