Jump to content
Unity Insider Forum

Gui.Label eine gewisse Zeit lang anzeigen


Recommended Posts

So, ich hab mal wieder ein problem,

und zwar wollte ich diesmal einen String anzeigen lassen, und dann nach einer gewissen Zeit ausblenden lassen. Und zwar sollte der Text solange da stehen, solange ein dazugehöriger Ton abgespielt wird. Dummerweise kann man aber in OnGUI nicht warten (wäre ja auch sehr nachteilhaft). Jetzt habe ich einfach zu dem Zeitpunkt eine Funktion aufgerufen, die eine Variable auf true setzt, und dann wartet, und dann wieder auf false setzt. Die variable wird zwar auf true gesetzt, allerdings nicht wieder auf false. ich hab das Gefühl, dass er ewig wartet?!

 

function untertitel() {
print("zeige Untertitel");
showuntertitel = true;
yield WaitForSeconds(5);
print("beende untertitel");
showuntertitel = false;
}

 

provisorisch wollte ich ihn erst einmal 5 Sekunden warten lassen, aber auch das funktioniert nicht.

 

Auch mein Label wird mir nicht angezeigt

 

	if(showuntertitel == true) {
	 GUI.Label(Rect(0,Screen.height-(Screen.height/3)+20,Screen.width,Screen.height/3),Quests[z].unterantworten[b].beschreibung);
	}

 

Das verwirrt mich ziemlich.

Vielleicht kann mir ja jemand helfen :)

 

MfG Tobias

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ich bin zwar auch noch kein Profi aber ich würde es so lösen.

var untertitel: float = 5
var showuntertitel: boolean;
function Update(){
if (showuntertitel = true)
{
	untertitel = untertitel - Time.deltaTime;
	GUI.Label(Rect(0,Screen.height-(Screen.height/3)+20,Screen.width,Screen.height/3),Quests[z].unterantworten[b].beschreibung);
}
if (untertitel <= 0)
{
	showuntertitel == false;
}
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

das funktioniert ja vorne und hinten nicht. Man weist eine variable einen wert mit einem einfachn "=" und nicht mit einem doppelten zu. In der if abfrage benutzt man "==" und Labels kann man auch nur in der onGUI Funktion benutzen, aber in keiner anderen. Auch nicht Update. aber die Idee mit dem float ist gar nicht schlecht

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es wäre ja auch so ein großes Problem gewesen den Code zu berichtigen :P

var untertitel: float = 5
var showuntertitel: boolean;
function OnGUI()
{
 if(showuntertitel)
 GUI.Label(Rect(0,Screen.height-(Screen.height/3)+20,Screen.width,Screen.height/3),Quests[z].unterantworten[b].beschreibung);
}
function Update()
{
if (showuntertitel)
{
	untertitel = untertitel - Time.deltaTime;
}
if (untertitel <= 0)
{
	showuntertitel = false;
}
}
function showSubtitle()
{
 untertitel = 5f;
 showuntertitel = true;
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...