【发布时间】:2018-07-16 13:26:14
【问题描述】:
我已经团结起来制作了一个小游戏。其中,当玩家触摸屏幕时,会生成一个图钉。我遇到的问题是,当我触摸屏幕时,一次会产生一个,而不是两个引脚。我使用了这个代码-
if(Input.touchCount == 1)
{
Spawnpin();
}
【问题讨论】:
标签: c# unit-testing unity3d input touch
我已经团结起来制作了一个小游戏。其中,当玩家触摸屏幕时,会生成一个图钉。我遇到的问题是,当我触摸屏幕时,一次会产生一个,而不是两个引脚。我使用了这个代码-
if(Input.touchCount == 1)
{
Spawnpin();
}
【问题讨论】:
标签: c# unit-testing unity3d input touch
把代码放在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();
}
}
}
}
【讨论】: