Unity - 如何基于触摸旋转对象?

时间:2014-02-16 21:36:54

标签: c# ios unity3d game-physics unityscript

我正在为iOS设备创建游戏。我希望我的播放器或游戏对象根据触摸旋转。我在touchPhase.Moved中使用以下代码

if (Input.touchCount > 0 && Input.GetTouch (0).phase == TouchPhase.Moved) 
    {
        coinTouched = true;

        if (coinTouched) 
        {
            Vector2 currentTouchPosition = Input.GetTouch (0).position;
            endPos = new Vector3 (currentTouchPosition.x, 0, currentTouchPosition.y);
            endTime = Time.time;


            gameObject.transform.rotation = Quaternion.Euler(0f,Input.GetTouch(0).deltaPosition.x * 1.0f,0f);

        }

    }

但它表现得很尴尬。它旋转好几乎180度,然后它向相反的方向移动,然后在另一个180度后,它以相反的方向旋转,依此类推。请帮帮我。

谢谢。

1 个答案:

答案 0 :(得分:0)

你的代码有点奇怪。这意味着您在Vecotr的错误位置使用x和y值。我打算假设你这样做是为了让立方体正确转动。我会使用旋转而不是更改旋转值。

这比我能做的更好: http://answers.unity3d.com/questions/255118/rotating-an-object-with-touch.html