为什么我的TouchPhase.Began不能这样工作?

时间:2019-12-22 15:33:19

标签: unity3d touch game-engine

我不明白为什么Input.GetTouch在这里不起作用。

private void Update()
{
    Vector2 vel = rb.velocity;
    float ang = Mathf.Atan2(vel.y, x: 10) * Mathf.Rad2Deg;

    if (Input.GetKey(KeyCode.Space))
    {
        rb.AddForce(Vector2.up * gravity * Time.deltaTime * 2000f);
    }
    if (Input.GetTouch(TouchPhase.Began))
    {
        rb.AddForce(Vector2.up * gravity * Time.deltaTime * 2000f);
    }
}

1 个答案:

答案 0 :(得分:2)

Input.GetTouch期望索引..您正在传递枚举值。

API实际上有几个在Unity中使用触摸的示例。

在您的情况下,您只想检查在layer状态下是否有首次触摸,因此您可以使用例如

Began
相关问题