在日常的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...