【问题标题】:image touchBegin flex mobile图像 touchBegin flex 移动
【发布时间】:2012-04-01 04:34:50
【问题描述】:

我想在 Flex mobile 的 Image 组件中检测 touchBegin 事件,但是当我设置 <...touchbegin> 时,当我触摸该图像时它不会触发。

有什么想法吗?

【问题讨论】:

  • 为什么不能尝试添加鼠标按下事件?

标签: apache-flex flex4 flex-mobile


【解决方案1】:

您可能看不到任何触发事件的原因是,根据设备的不同,touchBegin 可能不是在触摸开始时触发的事件,似乎在哪些设备使用 touchBegin 和哪些设备方面存在一些差异使用 mouseDown。

例如,为了测试这一点,我使用了将以下属性放入图像中:

touchBegin = "touchBeginHandler(event)"
mouseDown = "mouseDownHandler(event)"

还有如下代码:

protected function touchBeginHandler(event:TouchEvent):void
{
    trace("Touched");
}

protected function mouseDownHandler(event:MouseEvent):void
{
    trace("Moused");
} 

在手机模拟器和我的实际手机上,结果都是“鼠标”的跟踪语句。长话短说,尝试使用鼠标按下事件,看看你是否得到了你想要的结果。

【讨论】:

  • 但是如果我也想捕捉触摸动作怎么办?鼠标移动会代替这个吗? p.s 我没有在真实设备上尝试过这一切,因为我正在使用 flex 模拟器进行开发..
  • 我为四个有问题的事件设置了处理程序,touchBegin、touchMove、mouseDown 和 mouseMove,我不确定它是否只是我的设备,但我没有点击任何一个事件,我只有鼠标事件。这既是在模拟器中的调试,也是在我的 Droid 2 上的调试。所以在我看来,您想要使用的事件是 MouseEvents。
【解决方案2】:

【讨论】:

  • 有没有办法让“鼠标点击”被当成“触摸”来捕捉?还是只能使用设备?
  • @lbstr 不,我不知道,您可以使用 Multitouch.supportsTouchEvents 来确定运行应用程序的设备是否支持触摸事件。触摸事件不直接与鼠标事件以一对一的方式对应,它们对它们的类​​型使用不同的字符串文字,并且事件本身携带不同的信息,例如在鼠标事件的上下文中没有意义的压力和 touchId .你的目标是什么,如果你想拥有触控功能,你必须在触控设备上进行测试。
猜你喜欢
  • 2013-04-15
  • 1970-01-01
  • 2011-08-11
  • 2010-11-04
  • 2014-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多