对于Windows Phone7来说与用户的交互方法主要有三种:手势、按键、触控和一些传感器的信号(如重力感应等,对于最后一种,在一起学Windows Phone7开发(十四. Device)中已经详细介绍过了)所以XNA游戏所能用到的交互方式也是一样的。但对于XNA来说与Windows phone7是有很大区别的。其主要的函数在Microsoft.Xna.Framework.Input和Microsoft.Xna.Framework.Input.TouchPanel。
一.按键:对于按键来说,其实可控的也就只有Back键,其它的两个键是不受控的。
public void Update()
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)//这个是系统填加的
{
//…
}
}
二.触控:状态也很少,只有Move、Press、Release这么几种。
TouchCollection touchState = TouchPanel.GetState();
foreach (TouchLocation location in touchState)
{
switch (location.State)
{
case TouchLocationState.Pressed:
break;
case TouchLocationState.Moved:
break;
case TouchLocationState.Released:
break;
}
}