我已经设置了一个计时器,它工作得很好,但是当用户与另一个对象碰撞时,我不能让它停止。
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上调用引用方法,但是没有用。
非常感谢您的帮助。
答案 0 :(得分:2)
不完全确定您被困在哪里,但是在发生碰撞后,将timer
设置为false
。根据冲突的类型,它可以是OnCollisionEnter
或OnTriggerEnter
函数中的一个。如果您不熟悉Unity物理,请参阅this教程。您需要观看#1 和#2 才能了解对撞机。
如果您的碰撞类型不是触发器:
void OnCollisionEnter(Collision collision)
{
timer = false;
}
如果使用触发器:
void OnTriggerEnter(Collider other)
{
timer = false;
}