如何在场景中显示文本
本文关键字:显示 文本 在场 何在场 | 更新日期: 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);
你可以改变Text
的text
和enabled
属性。
我假设你有一个带有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