2011年6月23日 星期四 | By: 雞米

[ActionScript] 手勢操作系列(一)-Flash/Flex所支援的Gesture操作

Pad-like載具的興起,讓更多使用者習慣以手指直接操作軟體,雖然手勢操作已經發展了很多年,但還是目前很受重視的技術,今年的WWDC Apple將Gesture與新一代的Mac OS Lion結合,讓一般電腦、筆電的使用者也可以在Touch Pad上使用手勢操作電腦,相信Gesture是軟體相關大廠不會放掉的領域。

Adobe的Multiscreen計畫,將Flash AIR延伸到Mobile與TV上,因此在2009早已將多點觸控/手勢操作加入Flash/AIR,本文重點將針對Flash/AIR支援的手勢操作類型進行介紹,並在後續的文章針對各項手勢操作進行實際範例的說明(如果有時間)。

Flash/AIR使用Gesture的基本條件

1.Flash Player 10.1以上,AIR的話則必須用2.0以上
2.載具必須支援Multitouch Input,可以使用flash.ui.Multitouch類別來針對載具進行以下的驗證,這對於開發手勢操作軟體有很多的幫助。
    a. maxTouchPoint:可同時偵測的最大Touch input
    b. supportedGestures:所支援的手勢類型
    c. supportsGestureEvents:是否支援手勢事件
    d. supportsTouchEvents:是否支援多點事件

Flash/AIR支援的Gesture類型:

Adobe的Gesture API內建一系列較常見的手勢操作,你只要在使用手勢操作前,設定Multitouch.inputMode為MultitouchInputMode.GESTURE即可開始使用手勢操作,以下是Flash內建所支援的Gesture類型:

兩指輕點(GESTURE_TWO_FINGER_TAP)
兩指靠在一起快速的輕點,有點類似滑鼠Click的動作


一指壓另一指快速點一下(GESTURE_PRESS_AND_TAP)
常用來作為滑鼠右鍵的功能,例如顯示選單等等的


兩指移動(GESTURE_PAN)

兩指旋轉(GESTURE_ROTATE)


揮動(GESTURE_SWIPE)


兩指縮放(GESTURE_ZOOM)


只要是繼承InteractiveObject的物件都可以傾聽Gesture相關事件,你只要在Listener裡寫手勢發生時要處理的程式邏輯,就可以在Flash/AIR程式中加入手勢操作的功能。

0 意見:

張貼留言