【发布时间】:2019-02-09 13:06:42
【问题描述】:
我想找到一种使用触摸和拖动输入在 Z 轴上旋转 2D 游戏对象的方法。我找到了很多解决方案,但大多数都是用 JavaScript 编写的,并不能解决我的问题。
【问题讨论】:
我想找到一种使用触摸和拖动输入在 Z 轴上旋转 2D 游戏对象的方法。我找到了很多解决方案,但大多数都是用 JavaScript 编写的,并不能解决我的问题。
【问题讨论】:
我终于找到了一个解决我的问题的方法,我在我的设备上测试了它的代码,它是完美的:
public class rotate : MonoBehaviour
{
public float speed;
Vector2 pos;
private void Start()
{
speed = 100;
}
private void Update()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
Vector2 posInScreen = touch.position;
if (Camera.current.ScreenToWorldPoint(posInScreen) != null)
{
pos = Camera.current.ScreenToWorldPoint(posInScreen);
}
float Xposition = pos.x;
transform.rotation = Quaternion.Euler(0, 0, Xposition*speed);
}
}
}
【讨论】:
根据统一文档,您可以使用 Input.GetTouch();
https://docs.unity3d.com/ScriptReference/Input.GetTouch.html
和拖动处理程序:
https://docs.unity3d.com/ScriptReference/EventSystems.IDragHandler.html
【讨论】: