Unity Touch输入

时间:2018-07-16 13:26:15

标签: c# unit-testing unity3d input touch

我已经统一制作了一个小游戏。其中,当玩家触摸屏幕时,会生成图钉。我遇到的问题是,当我触摸屏幕时,一次生成两个大头针而不是一个。我用了这段代码-

 if(Input.touchCount == 1)
    {
        Spawnpin();
    }

1 个答案:

答案 0 :(得分:5)

将代码放入TouchPhase.BeganTouchPhase.Ended内,以便仅被调用一次,并且只有在释放并再次按下触摸时才被再次调用。在TouchPhase.BeganTouchPhase.Ended之间进行选择取决于您是否希望在按下时或释放后立即注册触摸。

void Update()
{
    for (int i = 0; i < Input.touchCount; i++)
    {
        if (Input.GetTouch(i).phase == TouchPhase.Began)
        {   
            if (Input.touchCount == 1)
            {
                Spawnpin();
            }
        }
    }
}