How To - 如何偵測物件的 double click event?

要知道,Double Click 大概是人機介面最好用的事件之一,直觀的告訴使用者:在某個物件上點兩下,就可以執行某些行為或是得到某些資訊。

在這邊提出三種不同方式可以取得:

第一種方法這裡下載。



利用暫存器做為 Timeout 設定值、按鈕次數計數器以及儲存物件 refnum。這個方法大概懂得 reference 程度的朋友就看得懂了。優點是頗簡單,同時可以設定 double click 的時間差,缺點是使用大量的 shift register,線路不太好看。

第二種方法在這裡下載。



這是裡面最簡單的方法,利用mouse event data node 的 mods.double click,就可以知道是否是double click 所觸發的。這個方法只要會 event 的朋友大概就可以上手使用,但是缺點是沒有辦法設定 double click 的時間差,我個人認為判斷的間隔時間太久。

第三種方法在這裡下載。





這個方法利用 dynamic event register 來做為第二次 click 的判斷觸發,優點是只用一組暫存器做為 Timeout 的設定,因此可以設定 double click 的時間差,且(看起來很酷)配置簡潔易懂,容易共用,可以配合其他的程式技巧來達到更複雜的功能,缺點則是使用了 dynamic event register 所以門檻較高,且單純只是要取得 double click 而已的話,略嫌花俏,殺雞用牛刀。

以上幾種方法分享給大家!