zoukankan      html  css  js  c++  java
  • 一起学WP7 XNA游戏开发(四. Input)

         对于Windows Phone7来说与用户的交互方法主要有三种:手势、按键、触控和一些传感器的信号(如重力感应等,对于最后一种,在一起学Windows Phone7开发(十四. Device)中已经详细介绍过了)所以XNA游戏所能用到的交互方式也是一样的。但对于XNA来说与Windows phone7是有很大区别的。其主要的函数在Microsoft.Xna.Framework.InputMicrosoft.Xna.Framework.Input.TouchPanel

    一.按键:对于按键来说,其实可控的也就只有Back键,其它的两个键是不受控的。

    public void Update()

            {

                 if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)//这个是系统填加的

                   {

                                         //…

    }

    }

     

    二.触控:状态也很少,只有MovePressRelease这么几种。

    TouchCollection touchState = TouchPanel.GetState();

    foreach (TouchLocation location in touchState)

          {

            switch (location.State)

            {

              case TouchLocationState.Pressed:

                break;

              case TouchLocationState.Moved:

                break;

              case TouchLocationState.Released:

                break;

            }

          }

     

    三.手势:可以通过手在屏幕上的不同动作来触发不同应用和触控很相似,但是比其状    态要多很多,并且需要指定。

    TouchPanel.EnabledGestures = GestureType.FreeDrag;//用来指定手势,必须要先设定,否则分报错

    if (TouchPanel.EnabledGestures != GestureType.None)

             {

                                switch (TouchPanel.ReadGesture())

                        {

                            case GestureType.Tap:

                               

                                break;

                            case GestureType.DoubleTap:

                                

                                break;

                            case GestureType.FreeDrag:

                              

                                break;

                            case GestureType.DragComplete:

                               

                                break;

                            case GestureType.Flick:

                               

                                break;

                            case GestureType.Hold:

                               

                                break;

                            case GestureType.HorizontalDrag:

                              

                                break;

                            case GestureType.None:

                                break;

                            case GestureType.Pinch:

                              

                                break;

                            case GestureType.PinchComplete:

                              

                                break;

                            case GestureType.VerticalDrag:

                               

                                break;

                        }

                    }

     

    }

     

     

    示例代码 http://www.daisy123.com/?page_id=275 xna input

     

  • 相关阅读:
    我的第一篇博客
    汇编语言——基础知识 Cop
    汇编语言第二章实验 Cop
    什么是<!DOCTYPE html>
    python第三方模块安装的几个方式
    linux下安装memcacheQ
    python正则表达式
    边框背景
    伪类
    属性选择符和样式
  • 原文地址:https://www.cnblogs.com/randylee/p/1872393.html
Copyright © 2011-2022 走看看