Unity CSharp - 计时器和广播消息
Unity CSharp - Timer & Broadcast Message
我个人已经无法在 Whosebug 上找到答案,但我的问题有点基础,我只是不明白在这种情况下我需要做什么:如果我有以下代码,我将如何使用BroadcastMessage 以便当我的计时器 (myCT) 等于 500 时它统一显示一条消息,谢谢。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class myTimer : MonoBehaviour
{
public float myCT = 600;
public Text timerText;
void Start () {
timerText=GetComponent<Text>();
}
// countdown
void Update () {
myCT -= Time.deltaTime;
timerText.text = myCT.ToString("f0");
print (myCT);
if(myCT = 598){
//I want something to happen here using broadcast message()
}
}
}
这看起来像是一个从 600 倒数到 500.First 的倒数计时器,你将东西与 ==
(if(myCT = 598){}
) 不 与 =
。因为myCT
是一个float
,所以从不保证在递减时是598或500。所以你必须使用 <=
而不是 ==
。
if(myCT = 598){
}
应该是
if(myCT <= 500){
Debug.Log("Timer reached!");
BroadcastMessage("doSomthingFunction", 500.0F);
}
我个人已经无法在 Whosebug 上找到答案,但我的问题有点基础,我只是不明白在这种情况下我需要做什么:如果我有以下代码,我将如何使用BroadcastMessage 以便当我的计时器 (myCT) 等于 500 时它统一显示一条消息,谢谢。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class myTimer : MonoBehaviour
{
public float myCT = 600;
public Text timerText;
void Start () {
timerText=GetComponent<Text>();
}
// countdown
void Update () {
myCT -= Time.deltaTime;
timerText.text = myCT.ToString("f0");
print (myCT);
if(myCT = 598){
//I want something to happen here using broadcast message()
}
}
}
这看起来像是一个从 600 倒数到 500.First 的倒数计时器,你将东西与 ==
(if(myCT = 598){}
) 不 与 =
。因为myCT
是一个float
,所以从不保证在递减时是598或500。所以你必须使用 <=
而不是 ==
。
if(myCT = 598){
}
应该是
if(myCT <= 500){
Debug.Log("Timer reached!");
BroadcastMessage("doSomthingFunction", 500.0F);
}