如何在场景中显示文本

本文关键字:显示 文本 在场 何在场 | 更新日期: 2023-09-27 18:17:14

我的问题是:我玩一个游戏,我想如果你输了,立即在屏幕顶部必须出现一个文本"记录:X",我不想改变场景或其他东西,不,我只想在屏幕顶部放一个文本在同一个场景,就像在Stack

是可能的吗?

我的代码是一个有碰撞的2个对象,当它们碰撞时,我想把这个文本放在顶部。

public class Colision : MonoBehaviour {
    public Text points;
    int contador=0;
    int Veces_Pequeño=0;
    void OnCollisionEnter(Collision col){
        if ( col.gameObject.name == "Cube") {
            col.gameObject.SetActive (false);
        }
        if ( col.gameObject.name == "Cube1") {
            col.gameObject.SetActive (false);
        }
    }
}

如何在场景中显示文本

我很难理解你的问题,但如果它像我认为的那样简单,请确保在开始游戏时禁用积分,并在您想要显示积分时添加此代码。

//Set the text to what ever you would like.
points.text = "Record: " + contador;
//Enable the gameobject for it to be seen.
points.gameObject.SetActive(true);

你可以改变Texttextenabled属性。

我假设你有一个带有Text组件和Canvas的GameObject…

public class Colision : MonoBehaviour {
    public Text points;
    int contador = 0;
    int Veces_Pequeño = 0;
    public string beforeText = "record: "; //just added this so it is easy to change in unity editor
    void Start(){
        points.enabled = false;
    }
    void OnCollisionEnter(Collision col){
        if ( col.gameObject.name == "Cube") {
            col.gameObject.SetActive (false);
            points.text = beforeText + contador.toString();
            points.enabled = true;
        }
        if ( col.gameObject.name == "Cube1") {
            col.gameObject.SetActive (false);
            points.text = beforeText + contador.toString();
            points.enabled = true;
        }
    }
}

这应该有很大帮助:https://docs.unity3d.com/Manual/script-Text.html