我正在尝试使用此脚本为抢劫玩家的人设置一个计时器,但是我再次调用它后我无法重置它但是它会将原始值保留在我想要的地方它每次都要重新开始。 我从另一个脚本调用它,它在OnTriggerEnter和OnTriggerExit方法上启用和禁用它
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Changetext : MonoBehaviour {
public float timeLeft = 5;
public Text countdownText;
public float cash = 0;
// Use this for initialization
void start()
{
timeLeft = 5;
}
void Update()
{
timeLeft -= Time.deltaTime;
countdownText.text = ("Time Left = " + timeLeft);
if (timeLeft <= 0)
{
countdownText.text = "You got the cash";
cash = 1;
}
}
}
答案 0 :(得分:3)
Start()仅在游戏对象生命周期中被调用一次 - 因此每次启用/禁用时都不会切换。
您可以使用OnEnable()将计时器重置为5;
void OnEnable()
{
timeLeft = 5;
}
(作为一个FYI,Start()需要一个大写'S')