觸控支援探索

Flash Player 10.1 以及更新的版本,Adobe AIR 2 以及更新的版本

使用 Multitouch 類別屬性,設定應用程式所處理的觸控輸入範圍。然後測試環境,確定支援 ActionScript 所處理的事件。更明確地說,要先建立應用程式的觸控輸入類型。選項為:觸控點、手勢或無 (將所有觸控輸入解譯為按一下滑鼠,並只使用滑鼠事件處理常式)。然後,使用 Multitouch 類別的屬性和方法,確定執行階段處於支援您應用程式所需的觸控輸入環境。測試觸控輸入類型支援的執行階段環境 (例如是否可以解譯手勢),並據此回應。
備註: Multitouch 類別屬性是靜態屬性,而且不屬於任何類別的實體。請以 Multitouch.property 語法來使用它們,例如:
var touchSupport:Boolean = Multitouch.supportsTouchEvents;

設定輸入類型

因為觸控事件可能會有多個元素或階段,所以 Flash 執行階段必須辨識要解譯的觸控輸入類型。如果手指只是碰觸觸控螢幕,那麼執行階段會傳送觸控事件?等待手勢?還是執行階段會將觸控追蹤為按下滑鼠事件?支援觸控輸入的應用程式必須建立觸控事件類型,應用程式會在 Flash 執行階段處理這些觸控事件類型。使用 Multitouch.inputMode 屬性建立執行階段的觸控輸入類型。輸入模式可以是三個選項的其中一項:
不特別處理觸控事件。設定 Multitouch.inputMode=MultitouchInputMode.NONE,並使用 MouseEvent 類別來處理輸入。

單一觸控點
個別解譯所有觸控輸入,而且可以追蹤和處理所有觸控點。設定 Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT,並使用 TouchEvent 類別來處理輸入。

手勢輸入
裝置或作業系統會將輸入解譯為手指在螢幕上移動的複雜形式。裝置或作業系統會統一將移動指定給單一手勢輸入事件。設定 Multitouch.inputMode=MultitouchInputMode.GESTURE,並使用 TransformGestureEvent、PressAndTapGestureEvent 或 GestureEvent 類別來處理輸入。

如需使用 Multitouch.inputMode 屬性在處理觸控事件之前設定輸入類型的範例,請參閱觸控事件處理

觸控輸入支援的測試

Multitouch 類別的其他屬性所提供的值,可用來將應用程式微調為目前環境的觸控支援。Flash 執行階段會針對允許的同時觸控點數目或可用的手勢來填入值。如果執行階段所處的環境,不支援應用程式需要處理的觸控事件,請提供替代方式讓使用者使用。例如,提供滑鼠事件處理,或目前環境可用或不可用功能的資訊。

您也可以使用 API 進行鍵盤、觸控和滑鼠支援,請參閱探索輸入類型

如需有關相容性測試的詳細資訊,請參閱疑難排解