寫這篇文章其實(shí)已經(jīng)做完所有的開發(fā)工作,今天周末所以搞起夏志,因?yàn)轫?xiàng)目需要的是手指在屏幕上操作乃坤。所以尋找插件,發(fā)現(xiàn)這個需求還是蠻多的。
1侥袜、導(dǎo)入資源
2、查看目錄
關(guān)于手勢腳本
3浦旱、開搞
FingerGesture的作用是管理用戶輸入和識別手勢和鼠標(biāo)或手指事件。
參數(shù)一覽:
make persistent : 設(shè)置場景跳轉(zhuǎn)后保持不銷毀九杂,F(xiàn)ingerGestures 單例在跨場景后一直有
Detect Unity Remote: 在Unity中統(tǒng)一檢測
Mouse Input Provider Prefabs : 鼠標(biāo)輸入預(yù)制
Touch Input Provider Prefabs : 手勢輸入預(yù)制
4颁湖、開發(fā)案例
我們想讓用戶的手指做一些特定的動作來達(dá)到程序的多樣性
單擊:在上面我們已經(jīng)知道是TapRecognizer
Required Taps:連續(xù)輕擊的次數(shù)。,我們可以在代碼中獲取
int count = gesture.Taps;
// 按下最長時間
float time = gesture.ElapsedTime;
Max Delay Between Taps:兩次輕擊間最大的時間間隔(單位秒)
Movement Tolerance : 兩次敲擊的位置偏差大小
Max Duration:最大可以識別的手指數(shù)
其實(shí)就是我們屏幕坐標(biāo)系例隆。甥捺。。打印結(jié)果:
原理:其實(shí)通過Unity的事件通知SendMessage來傳遞消息
手勢識別
每種手勢都有自己的腳本镀层,我們只需要簡單的實(shí)現(xiàn)它就是ok的
1镰禾、添加對應(yīng)的手勢腳本,設(shè)置它的屬性
2唱逢、監(jiān)聽它的手勢事件和對應(yīng)響應(yīng)吴侦。作為手勢事件通知的一部分,GestureRecognizer傳遞一個包含相關(guān)信息(位置坞古,手指觸屏點(diǎn)列表备韧,選擇的場景物件,相關(guān)的GestureRecognizer等)的事件參數(shù)痪枫。一個手勢識別器有以下監(jiān)聽事件的方式:
1织堂、使用標(biāo)準(zhǔn)的.net 委托事件模型,每一個手勢識別器都暴露一個.net事件接口
2奶陈、使用unity的SendMessage()函數(shù) :
本質(zhì)來講這個內(nèi)部主要是封裝Api易阳,還有我們獲取相關(guān)的游戲?qū)ο笫峭ㄟ^射線檢測來進(jìn)行識別操縱
創(chuàng)建我們的手勢
將創(chuàng)建好的手勢進(jìn)行應(yīng)用
接下來利用我們的點(diǎn)圖案識別
對勾被識別了,通過測試我們發(fā)現(xiàn)只要不是對勾是不會被識別的吃粒。
當(dāng)然我們還可以控制組件的所在層來進(jìn)行更高效的操作
具體使用簡單明了闽烙,相信你會很快明白