首先,先决条件,不是所有的设备都一样,不是所有的设备都支持多点触控。要在Flash里面应用多点触控,你需要:
1)可触摸硬件
触摸屏或者手机,或者支持触摸的PAD
2)一个支持触摸事件的操作系统
Windows 7或者 OSX 10.5 或者 Mobile OS
3)Flash Player 10.1或者AIR 2.0
你还必须明白很重要的一点,可供使用的触控点的个数依赖于硬件。有的HP Touchsmart 设备支持2个触控点,而有些则可以支持4个。移动设备支持不同个数的触控点,有传言说,R&D的设备可以支持许多的触控点。另外,你还应该考虑到 有些设备可能不支持多点触控(而只支持单点触控),你得保证你的程序在这种情况下能正常运行。
许多人认为多点触控意味着直接去触摸屏幕,其实不是这样的。AIR 2.0 和Flash Player 10.1即将推出的多点触控API同时直接触摸屏幕和非直接触摸屏幕,它们的工作方式是不一样的。
直接触摸指的是触摸事件发生的位置,非直接触摸是指接到一个非屏幕发送的触摸事件。例如,一个支持多点触控的PAD。
直接触摸和非直接触摸两者调用API的方式是一样的,多点触控事件有两个方法–Gesture 和 Touch。
在Gesture模式,你可以将预定义好的gesuter添加到你的程序组件中,在这个模式里,定义好的gesture是有限的,而且不能相互组合,但是将它们添加到组件的过程非常简单。
在Touch模式,你可以接收到低级的类似鼠标事件的触摸事件。在这个模式里面,你可单独分析每一个触摸事件,并且对每种触摸事件定义相应的程序逻辑。
Gesture模式和Touch模式两都是互斥的,在touch模式下你不能接收gesture事件,在gesture模式下不能接收touch事件。目前,程序加载后默认的是gesture模式,你可以在两种模式下任意切换。
在Gesutre模式或者touch模式下,处理触摸事件都很简单,只需要添加事件侦听器和处理函数就可以了。这跟处理鼠标事件是一样的,区别就在你可以处理多点的触控事件而不是单个的鼠标事件。