我正在尝试使用AS3在触摸屏上实现非常简单的滑动识别。我只需要知道滑动是向左,向右,向上还是向下。
第一个问题:使用简单的MOUSE_DOWN和MOUSE_UP会更容易吗,只需计算移动的距离?
或者使用MultiTouch会更容易吗?
我看到MultiTouch的代码显示了如何实现滑动检测并获得方向:
if (e.offsetY == 1) {
//User swiped towards bottom
square_mc.y += 100;
}
if (e.offsetY == -1) {
//User swiped towards top
square_mc.y -= 100;
}
if (e.offsetX == 1) {
//User swiped towards right
square_mc.x += 100;
}
if (e.offsetX == -1) {
//User swiped towards left
square_mc.x -= 100;
}
但如果您需要解决一个方向(即向左或向上,向右或向下等),您如何做到(如果offsetX和offsetY是真正的偏移,为什么他们检查+1和 - 仅限1?或者这是一个在滑动过程中经常调用的函数?我试图完成一次COMPLETE滑动。)
我在想跳过MultiTouch可能更简单,但欢迎反馈。谢谢!
答案 0 :(得分:0)
你可以做两件事来回答你自己的问题......
1重新阅读您的代码来自的教程..特别是“编码手势”http://www.republicofcode.com/tutorials/flash/as3swipegesture/
部分2只是尝试并从观察结果中学习。例如......
但是如果你需要解决一个方向(那就是左边......那怎么样 你这样做了吗?
在您提供的代码if (e.offsetX == -1) { square_mc.x -= 100; }
中,此行有什么问题。你测试过吗?向左方向滑动时,square_mc是否向左移动了100个像素?如果它奏效了你就成功地“解决了”一个方向,我想。您可以根据需要为其他方向添加其他If
语句。