as3 flash上​​的手势多点触控:如何启动对象

时间:2013-12-25 19:19:31

标签: actionscript-3 flex air flash-builder flex4.5

我试图在as3中实现一个简单的抛出效果:

我把手指放在屏幕上然后轻扫它就像扔了一个物体一样。 目标是根据滑动(方向,速度)模拟球的移动

我应该使用什么手势? 我尝试了TransformGestureEvent.GESTURE_SWIPE 但这只是给我方向(左右,上,下),没有速度或力或速度。

问候

1 个答案:

答案 0 :(得分:1)

有许多库和框架可以处理触摸输入并且可以处理复杂的手势,你可以谷歌搜索它们并轻松找到很多。

您也可以编写自己的简单输入处理器,为您提供所需的信息。

触摸时,将设置值设置为3个变量:

  • start x
  • start y
  • 时间戳

获取起始位置可以是屏幕全局位置(可以从处理程序上的TouchEvent对象访问它),也可以是InteractiveObject(例如Sprite)mouseX和mouseY - 它将为您提供相对位置。
使用getTimer()可以轻松获取时间戳,这也是在Flash中获取时间戳的最快方法。

触摸结束时获取其他3个变量

  • 结束x
  • 结束y
  • 结束时间戳

了解x和y位置的差异以及制作手势所花费的时间,您将能够找到所需的数据 - 角度(使用三角函数或Math.atan2()),速度,速度,力(按距离)在x,y或时间增量之间或两者之间)

希望能回答你的问题!