我在移動設備中使用 Input.GetTouch(0).deltaPosition.x,現在我切換到 Windows?
如何將 Input.GetTouch(0).deltaPosition.x 轉換為 Input.GetMouseButtonDown(0) 然后左右拖動?
uj5u.com熱心網友回復:
兩者之間沒有直接的轉換。我會創建方法,回傳值,并實作每個平臺的邏輯。像這樣的東西:
#if UNITY_STANDALONE
private Vector2 _prevPos;
#endif
private void Update()
{
if (IsPointer())
{
Vector2 delta = GetDeltaPos();
// do the work
}
}
private bool IsPointer()
{
#if UNITY_ANDROID
return Input.touchCount > 0;
#elif UNITY_STANDALONE
return Input.GetMouseButton(0);
#endif
}
private Vector2 GetDeltaPos()
{
#if UNITY_ANDROID
return Input.GetTouch(0).deltaPosition;
#elif UNITY_STANDALONE
Vector2 ret = Input.mousePosition - _prevPos;
_prevPos = Input.mousePosition;
return ret;
#endif
}
我知道這不好,但可以在兩個平臺上使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/524055.html
標籤:unity3d