Unity有一個Touch的類別是用來控制手機或是平板電腦的觸控指令,裏頭有一個TouchPhase.Moved 和 TouchPhase.Stationary的狀態,顧名思義Moved是指觸控點在移動,Stationary是在按下不動,但是......
我明明在移動呀!你把我當成按下了!
本來的代碼跟效果圖如下:
代碼部份:這是在Updates裏,我有一個Boolean _clicking, 如果是按下了才會出現紅點
_touches = Input.touches;
if(_touches.Length == 1)
{
if(_touches[0].phase == TouchPhase.Stationary)
{
Debug.Log("Clicked, 紅點出現");
_clicking = true;
}
else
{
Debug.Log("Moving, 沒有紅點");
_clicking = false;
}
}
看代碼我想不會有問題吧?於是我就運行試試看:
結論是:我在移動呀~不是按下了呀~雖然我就乖乖找 Google跟 Facebook的大大求救,然後試驗到其中一個可行的方法!