2016-11-09 4 views
-2

Mein Problem ist: Ich spiele ein Spiel, und ich will, dass, wenn Sie verlieren, sofort im oberen Teil des Bildschirms muss ein Text mit "Record: X", ich will nicht die Szene oder etwas ändern, nein in der Oberseite des Bildschirms, wieWie wird Text in einer Szene angezeigt?

ist möglich, ich nur in der gleichen Szene in Stapel legen einen Text wollen?

Mein Code ist zum Beispiel ein 2 Objekte mit Kollision, und wenn sie Kollision, möchte ich diesen Text in den oberen stellen.

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); 
     } 
    } 
} 
+0

ich wie in STACK wollen! STACK beginnt mit Text und gerade unten erscheint ein Spiel mit Button und Szene und wenn du verlierst erscheint der Text "RECORD" sofort oben. Wie?? –

+0

die Sprache ist C# –

+0

Einheit :) Entschuldigung! –

Antwort

3

Ich habe Probleme zu verstehen, was Sie fragen, aber wenn es so einfach ist, wie ich denke, es ist sicher Punkte machen wird deaktiviert, wenn Sie das Spiel starten und den Code hinzufügen, wenn Sie die Punkte möchten Angezeigt werden.

//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); 
+0

ja, aber ich möchte, dass "RECORD" mit meiner benutzerdefinierten Schriftart –

+0

In Ordnung, dann empfehle ich zwei Text innerhalb einer horizontalen Layout-Gruppe, wo die erste den Text "RECORD" mit Ihrer benutzerdefinierten Schriftart und die zweite ist die verbunden ist die variablen Punkte. – Alox

+0

aber wie kann ich diesen Text erscheinen? Layout ist in welcher Szene? –

0

Nun, können Sie einfach ändern, um die text und enabled Eigenschaften von Text.

Ich nehme an, Sie ein Gameobject mit dem Textkomponente und eine Leinwand ...

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; 
     } 
    } 
} 

Dies sollte helfen, eine Menge: https://docs.unity3d.com/Manual/script-Text.html

Verwandte Themen