XNA用户输入

       XNA中支持PC上的键盘、鼠标,WP的触摸、手势和Xbox 360的手柄输入。

       键盘输入

       键盘输入是通过Microsoft.XNA.Framework.Input命名空间中的Keyboard类来处理的。Keyboard类有一个叫做GetState的静态方法,用KeyboardState结构的形式返回键盘目前的状态。KeyboardState结构中包含三个能够满足您大部分的功能需求的关键方法,如下:

       Keys[]GetPressedKeys()            返回被按下的键的数组
       bool IsKeyDown(Keys key)        返回按键是否被按下
       bool IsKeyUp(Keys key)             返回按键是否被释放

       例如:if ( Keyboard.GetState().IsKeyDown(Keys.A) ),即检查A是否被按下。

       鼠标输入

       鼠标输入是通过Microsoft.XNA.Framework.Input命名空间中的Mouse类来处理的。Mouse类和Keyboard类行为很类似,也有一个GetState的静态方法,能以MouseState结构的形式从鼠标返回数据。MouseState结构体中的重要属性如下:

       属性                             类型                            描述
       LeftButton                  ButtonState                返回鼠标左键的状态
       MiddleButton             ButtonState               返回鼠标中键的状态
       RightButton                ButtonState              返回鼠标右键的状态
       ScrollWheelValue     int                               返回自游戏开始后鼠标滚轮滚动刻度的累加量
       X                                   int                               返回鼠标光标相对于游戏窗口左上角的水平位置
       XButton1                     ButtonState              返回某些鼠标上额外的按键的状态
       XButton2                     ButtonState              返回某些鼠标上额外的按键的状态
       Y                                   int                               返回鼠标光标相对于游戏窗口左上角的垂直位置

       默认情况下鼠标是隐藏的,可以设置Game类的IsMouseVisible属性为true来显示鼠标。

       游戏手柄输入

       正如上文中类似的,这里需要GamePad类来提供帮助,主要属性如下:

       属性                     类型                                         描述
       Buttons               GamePadButtons                返回一个表示当前哪些按键被按下的结构体
       DPad                  GamePadDPad                    返回表示十字键上的哪个键被按下的结构体
       IsConnected     Boolean                                  指示手柄目前是否连接到Xbox360
       ThumbSticks    GamePadThumbSticks       返回一个结构体用来确定模拟摇杆的方向
       Triggers             GamePadTriggers               返回表示扳机键是否被按下的结构体

       GamePadState还有两个主要方法如下:

       方法                                                         描述
       bool IsButtonDown(Buttons)              传入一个或多个键的按位或运算值
       bool IsButtonUp(Buttons)                   传入一个或多个键的按位或运算值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值