我已经统一制作了一个小游戏。其中,当玩家触摸屏幕时,会生成图钉。我遇到的问题是,当我触摸屏幕时,一次生成两个大头针而不是一个。我用了这段代码-
if(Input.touchCount == 1)
{
Spawnpin();
}
答案 0 :(得分:5)
将代码放入TouchPhase.Began
或TouchPhase.Ended
内,以便仅被调用一次,并且只有在释放并再次按下触摸时才被再次调用。在TouchPhase.Began
和TouchPhase.Ended
之间进行选择取决于您是否希望在按下时或释放后立即注册触摸。
void Update()
{
for (int i = 0; i < Input.touchCount; i++)
{
if (Input.GetTouch(i).phase == TouchPhase.Began)
{
if (Input.touchCount == 1)
{
Spawnpin();
}
}
}
}