蝗虫的大腿 发表于 2012-12-10 14:09:12

xna 触控操作 备忘

<div id="cnblogs_post_body"><div class="cnblogs_code"> private void HandleInput()      {            while (TouchPanel.IsGestureAvailable)            {                GestureSample gestureSample = TouchPanel.ReadGesture();                switch (gestureSample.GestureType)                {                  case GestureType.FreeDrag:                        rotationXAmount += gestureSample.Delta.X;                        rotationYAmount -= gestureSample.Delta.Y;                        break;                  case GestureType.Pinch:                        float gestureValue = 0;                        float minFOV = 60;                        float maxFOV = 30;                        float gestureLengthToZoomScale = 10;                        Vector2 gestureDiff = gestureSample.Position - gestureSample.Position2;                        gestureValue = gestureDiff.Length() / gestureLengthToZoomScale;                        if (null != prevLength) // Skip the first pinch event                            cameraFOV -= gestureValue - prevLength.Value;                        cameraFOV = MathHelper.Clamp(cameraFOV, maxFOV, minFOV);                        prevLength = gestureValue;                        break;                  case GestureType.PinchComplete:                        prevLength = null;                        break;                  default:                        break;                }            }      }
页: [1]
查看完整版本: xna 触控操作 备忘