Unity移動裝置手勢操作拾遺

2021-06-14 17:07:20 字數 759 閱讀 4049

在日常的unity開發中,經常會面臨觸發選擇的問題,是使用原生的onmousedown、ngui外掛程式還是fingergesture外掛程式呢?

這裡就梳理下三者的關係。

原生的onmousedown/up是最直接的方式,正如字面意思,是特指的pc的mouse,在移動裝置上不支援(當前版本)

ngui外掛程式是乙個很好的ui外掛程式,提供了一些button的觸發指令碼。這些指令碼能夠在移動裝置工作。但值得注意的是,必須在作為uicamera的子級時才能生效,也就是說,在maincamera中是沒用的。

而對於maincamera的3d模型,自然也就無法響應操作了。

(乙個取巧的方法是,對maincamera加入uicamera指令碼,使maincamera也能響應ngui,但是考慮到未知的風險和邏輯關係,我們並不經常這麼做)

fingergesture是乙個專門的手勢外掛程式,能夠針對需要的camera(無論是什麼型別),生成raycast響應動作。也就是說可以同時相容3d和ui。

只是相較於ngui,fingergesture需要對不同的手勢(tap、drag)新增響應的指令碼(component)、以及需要新增乙個初始化的prefab。略顯麻煩。

建議:

對ui使用ngui的事件

對3d使用fingergesture

如果僅僅是簡單的3d操作,可以考慮使用ngui新增uicam的方式

js拾遺 appendChild 新增移動節點

簡單來說就是移動當前節點的意思,所以昨天的 裡去掉 obox.innerhtml 即可全相容。來看個常見的例子 var p document.createelement p 這個是最常見的用法,建立 p 節點,新增到 body 的末尾。var p1 document.getelementbyid p...

C拾遺(五)Linux檔案操作

1.open close函式 include include include int open const char pathname,int flags int open const char pathname,int flags,mode t mode flags必選一項 o rdonly 唯讀...

C 拾遺 多執行緒 原子操作解決執行緒衝突

c 拾遺 多執行緒 原子操作解決執行緒衝突 在多執行緒中操作全域性變數一般都會引起執行緒衝突,為了解決執行緒衝突,引入原子操作。include include include include int g count 0 void count void p sleep 100 do some work...