【发布时间】:2014-03-29 15:17:30
【问题描述】:
这是我必须处理 tpouch 手势的一些代码示例:
public void HandleInput()
{
TouchPanel.EnabledGestures =
GestureType.FreeDrag | GestureType.DragComplete | GestureType.DoubleTap | GestureType.Tap;
while (TouchPanel.IsGestureAvailable)
{
GestureSample gs = TouchPanel.ReadGesture();
switch (gs.GestureType)
{
case GestureType.FreeDrag:
...
break;
case GestureType.DragComplete:
...
break;
case GestureType.DoubleTap:
...
break;
case GestureType.Tap:
...
break;
...
这是使用monogame(即XNA)编写的,我很晚才意识到我没有在目标机器(WinRT)没有触摸功能的情况下处理鼠标输入。
到目前为止,我遇到的处理鼠标手势的唯一方法如下:
MouseState mouseState = Mouse.GetState();
Vector2 mousePosition = new Vector2(mouseState.X, mouseState.Y);
if (mouseState.LeftButton == ButtonState.Pressed)
...
我可以看到在这里实现同样的事情是可能的,但我想偷懒并偷工减料(并希望生成更简单的代码)。所以,我的问题是双重的:
- 是否可以处理鼠标“手势”?
- 如果不是,有没有办法让 XNA 相信鼠标实际上是触摸的(Windows 8 的模拟器很好地做到了这一点)。
【问题讨论】:
标签: c# xna windows-runtime monogame gestures