在Unity3D的Scene
中,如何在runloop中的MonoBehaviour
中每隔一秒对代码做一次反应?
答案 0 :(得分:1)
如果您在Unity3D环境中,请停止阅读并查看Joe Blow's answer。否则,请继续阅读。
您可以使用Stopwatch
为活动计时。创建一个Stopwatch
作为私有字段/属性,并从构造函数初始化它:
public YourClass()
{
ScoreStopwatch = new Stopwatch();
ScoreStopwatch.Start();
// Other initialization...
}
private Stopwatch ScoreStopwatch { get; set; }
然后您可以使用Elapsed
属性来获取自上次分数增加以来的时间,如下所示:
if(Input.GetMouseButtonUp(0) && ScoreStopwatch.Elapsed.TotalSeconds > 1)
{
score++;
ScoreStopwatch.Reset();
ScoreStopwatch.Start();
}