[ActionScript] 手勢操作系列(三)-Zoom Gesture

今天要介紹的是另外一個常用的手勢操作-Zoom Gesture(又稱作Pinch Gesture),只要有使用過觸控式的Device,看到畫面上的物件總會習慣性的將兩指放在物件上,以收縮兩指的方式進行縮放,ActionScript當然支援這個常見的手勢,只不過如何縮放物件就必須自行實作,本文只提供簡單的作法,能夠將畫面上的Image以兩指進行縮放(左上角為縮放中心),至於更複雜一點的效果(例如:中心點縮放、以兩指中點為縮放中心…等)待後續有時間再提供相關說明。


Gesture Zoom 實作(Flex)

1、建立要進行Zoom手勢操作的對象物件(以Image為例)
var img:Image = new Image();
img.source = "你要放的圖片";
2、註冊TransformGestureEvent.GESTURE_ZOOM Listener
img.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onTargetZoom);
3、實作物件縮放函式,以TransformGestureEvent的scaleX, scaleY屬性取得縮放倍率,來進行目標物件縮放
function onTargetZoom(e:TransformGestureEvent):void{
    img.scaleX *= e.scaleX;
    img.scaleY *= e.scaleY;
}
在支援Multi-touch的device上執行,就可以看到Image隨著手指距離進行放大縮小了

留言

這個網誌中的熱門文章

[Android] layout_weight的妙用-讓View的大小以百分比率顯示(proportionate size)

[Android] 內部儲存體(Internal Storage)的檔案系統讀寫(File I/O)

【海外婚紗】造型篇-我的超人新祕Sunny-Yang