如何使滑动手势在Windows Phone平滑滚动/ XNA
问题描述:
我有这个在我的XNA游戏的更新()部分:如何使滑动手势在Windows Phone平滑滚动/ XNA
while (TouchPanel.IsGestureAvailable)
{
GestureSample gs = TouchPanel.ReadGesture();
switch (gs.GestureType)
{
case GestureType.Flick:
_GameMap.GameCamera.Translate(new Vector2(-gs.Delta.X/2, 0));
//moves the camera by this amount
break;
}
}
但勿庸置疑,当我轻弹没有滚动(如谷歌地球或愤怒的小鸟),它只是一个开始和结束。我该如何实现滚动浏览?
答
从Windows Phone 7 Game Development:当用户释放与 屏幕(...)这往往是有益的启动动力学滚动,其中 对象后继续移动联系
快速滑动手势被触发在用户一直在移动的方向 中发布。
如果这里所描述的动力学滚动是你想要什么,然后在检测到轻拂,节省三角洲,并在每一帧,将通过三角洲(次一些常数)和一定量酌减。这将导致屏幕逐渐移动并减速。
如果将文本从字面上理解,只报道了手势,当用户释放接触,这意味着期间接触的页面不动。在这种情况下,您还需要查找某种类型的拖动手势(可能是FreeDrag),并在拖动过程中开始移动屏幕。