2010/5/9

Flash CS5 multi-touch 範例

Mark Doherty貼了一段Flash CS5 multi-touch的範例影片

Device Central CS5 - Flash Professional Integration from Mark Doherty on Vimeo.

In this video we look at the debugging capabilities using Device Central for mobile projects. The application, PhotoTouch by Maso Lin, demonstrates the multi-touch support added to the tool for testing your applications.


以下我分享一下這個範例的原始碼及心得…



Flash目前提供的multi-touch api大致可分成兩種:
.TouchEvent--直接取得各個點的事件
.TransformGestureEvent--只取多點所形成的gesture結果

先說說TransformGestureEvent,它可得到rotate, zoom, pan, swip等事件,如果你的需求是這些的話,用這個就可以了。
TransformGestureEvent另一個好處是,使用macbook/pro開發時,直接在觸控板上做這些gesture,這個api是可以收到訊號的,這樣就可以在電腦上實測了。

而TouchEvent的使用時機,我個人覺得是在TransformGestureEvent無法滿足時再用就可以了。
例如做一個動作遊戲,需要在畫面上做出虛擬手把時 (左邊十字方向鍵,右邊是攻擊、跳…等),就必需要用TouchEvent

最後有一點要注意是,Flash 目前只支援到2點觸控,再多的話就收不到了。 待測...

以下是範例code,大致上是把所有的event列出來而已,並應用在一張照片上,讓它可以zoom in/out、旋轉 ,雙指pan做移動…等





15 則留言:

kembo 提到...
作者已經移除這則留言。
Maso Lin 提到...

應該是版本的問題,我一開始拿到的CS5是比較早的版本(pre-release)當時只有支援兩點,這篇心得也是在當時記錄的。

我想是後來的版本有修正,有空我再測看看。

文中那句話我先修掉,謝謝指正。

kembo 提到...

好像是我會錯意了..你說的Event跟我測試的Event不一樣..所以我當時才把留言刪掉..真是不好意思.我再來試試你測試的這個Event..^^

淋維 提到...

你好我想請問一下你的照片名稱是...?

Maso Lin 提到...

這張照片沒有名稱 http://www.flickr.com/photos/maso/3982899846/

淋維 提到...

你好我是復興商工的學生
因為最近畢業展想用多點成線,我請問一下
你這套原始碼是用在場景上嗎?
因為你說你的圖片沒有名稱
所以說在這套原始碼裡面不需要放上圖片的名稱?

Maso Lin 提到...

我誤會你的意思了

code裏面container即是照片,你把它改成你要控制的東西就好了

淋維 提到...

那麼除了container還有需要改其他東西嗎 ?

Maso Lin 提到...

不用

just_colonnello 提到...

不好意思
我套用你的程式碼後出現錯誤顯示
"存取未定義的屬性_txt"
請問這部分是有要設定什麼嗎?
text是一個動態文字嗎?

因為我是最近才開始研究multi-touch所以對程式的部分非常不熟悉

just_colonnello 提到...

不好意思
我套用你的程式碼後出現錯誤顯示
"存取未定義的屬性_txt"
請問這部分是有要設定什麼嗎?
text是一個動態文字嗎?

因為我是最近才開始研究multi-touch所以對程式的部分非常不熟悉

Maso Lin 提到...

_txt是我在畫面上放的文字方塊,用來呈現訊息用的,你若沒用到的話,請把所有_txt相關的程式都拿掉。

或是你也放一個文字方塊在場景上,取名為 _txt 即可

just_colonnello 提到...

請問一下這程式是用於i phone上的嗎?
我能把它用在紅外線觸控桌上嗎?

因為我只能在device central中開啟
連接觸控桌後就沒有辦法產生互動

just_colonnello 提到...

請問一下這程式是用於i phone上的嗎?
我能把它用在紅外線觸控桌上嗎?

因為我只能在device central中開啟
連接觸控桌後就沒有辦法產生互動

Maso Lin 提到...

@ just_colonnello

要看你的觸控桌是什麼系統及硬體耶
這是目前最新的2.6版的系統需求,你可以查一下
http://kb2.adobe.com/cps/891/cpsid_89107.html#main_System_requirements

看看你的觸控桌所使用的軟硬體是否有在上列的名單中