0

我正在尝试使用 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?或者这是一个在滑动过程中经常调用的函数?我正在尝试完成一次滑动)。

我认为跳过 MultiTouch 可能更简单,但欢迎提供反馈。谢谢!

4

1 回答 1

0

你可以通过做两件事来回答你自己的问题......

1重新阅读您的代码来自的教程..尤其是标题为“编码手势”的部分http://www.republicofcode.com/tutorials/flash/as3swipegesture/

2 只是实验并从观察结果中学习。例如...

但是如果您需要解决一个方向(即左或....您如何做到这一点?

那么您提供的代码中的这一行有什么问题if (e.offsetX == -1) { square_mc.x -= 100; }。你测试了吗?当您向左滑动时,square_mc 是否没有向左移动 100 像素?如果它有效,我猜你已经成功地“解决”了一个方向。您可以If根据需要为其他方向添加其他语句。

于 2013-04-19T01:07:00.400 回答