gpt4 book ai didi

c# - Unity 5 中的 GUIText(需要替代方案)

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:02 24 4
gpt4 key购买 nike

我一直在关注如何在 YouTube 上制作计时器的教程,但由于 Unity 5 中的 GUIText 问题,我现在陷入困境。这是我的代码:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Timer : MonoBehaviour {

public float Seconds = 59;
public float Minutes = 0;

void Update() {

if (Seconds <= 0) {

Seconds = 59;
if (Minutes > 1) {

Minutes--;

} else {

Minutes = 0;
Seconds = 0;
//This makes the guiText show the time as X:XX. ToString.("f0") formats it so there is no decimal place.
GameObject.Find("TimerText").GUIText.text = Minutes.ToString("f0") + ":0" + Seconds.ToString("f0");

}

} else {

Seconds -= Time.deltaTime;

}

//These lines will make sure that the time is shown as X:XX and not X:XX.XXXXXX
if(Mathf.Round(Seconds) <= 9) {

GameObject.Find("TimerText").GUIText.text = Minutes.ToString("f0") + ":0" + Seconds.ToString("f0");

} else {

GameObject.Find("TimerText").GUIText.text = Minutes.ToString("f0") + ":" + Seconds.ToString("f0");

}

}

}

问题出在 GUIText 上。

error CS1061: Type 'UnityEngine.GameObject' does not contain a definition for 'GUIText' and no extension method 'GUIText' of type 'UnityEngine.GameObject' could be found (are you missing a using directive or an assembly reference?)

如果没有 GUIText,我该怎么做才能让计时器在我的游戏中显示?

最佳答案

您可以使用 GetComponent(string) 方法重写它,而不是执行 GameObject.Find("TimerText").GUIText.text,这是正确的方法:

GameObject.Find("TimerText").GetComponent<GUIText>().text = 
Minutes.ToString("f0") + ":0" + Seconds.ToString("f0");

关于c# - Unity 5 中的 GUIText(需要替代方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30714357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com