我正在为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度后,它以相反的方向旋转,依此类推。请帮帮我。
谢谢。
答案 0 :(得分:0)
你的代码有点奇怪。这意味着您在Vecotr的错误位置使用x和y值。我打算假设你这样做是为了让立方体正确转动。我会使用旋转而不是更改旋转值。
这比我能做的更好: http://answers.unity3d.com/questions/255118/rotating-an-object-with-touch.html