因爲項目需要做 以鼠標/雙指爲中心縮放圖片的模塊,而且要發佈PC版,因此爲了方便,直接把PC和IOS的移動和縮放事件同時放在Update裏面:
void Update()
{
IosScale();
IosMove();
PcScale();
PcMove();
}
其中
PC 版獲取鼠標位置:Input.mousePosition;
IOS版獲取點擊位置:Input.GetTouch(0).position
結果發佈到Ipad上總是小Bug不斷,當時一直在IOS方法裏找原因,找了幾天還是一無所獲。後來排除和用Label顯示點擊位置的方法發現了問題出在Input.mousePosition上!!!
原來這個屬性不僅返回PC鼠標的位置,還會返回IOS點擊的中心位置。也就是說,當只有一個點擊時,返回該點擊的位置;當大於一個點擊時,返回這些點擊的中心位置。
知道這個潛在的坑後,我看了最新英文官方的腳本文檔,終於找到了一句話:On top of native touch support Unity iOS/Android provides a mouse simulation. You can use mouse functionality from the standard Input class.(出處http://docs.unity3d.com/Documentation/Manual/Input.html)