用户与对象碰撞时如何停止计时器? (统一)

时间:2018-07-03 16:14:38

标签: c# unity3d

我已经设置了一个计时器,它工作得很好,但是当用户与另一个对象碰撞时,我不能让它停止。

Text text; float theTime;

public bool timer;
void Start()
{
     text = GetComponent<Text>();
}
void Update()
{
     if (timer == true)
     {
         theTime += Time.deltaTime;
         string seconds = (theTime % 60).ToString("0");
         text.text = seconds;
     }
}
}

当用户与任何物体碰撞时,我无法停止计时器。

我尝试在Internet上调用引用方法,但是没有用。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

不完全确定您被困在哪里,但是在发生碰撞后,将timer设置为false。根据冲突的类型,它可以是OnCollisionEnterOnTriggerEnter函数中的一个。如果您不熟悉Unity物理,请参阅this教程。您需要观看#1 #2 才能了解对撞机。

如果您的碰撞类型不是触发器:

void OnCollisionEnter(Collision collision)
{
    timer = false;
}

如果使用触发器:

void OnTriggerEnter(Collider other)
{
    timer = false;
}
相关问题