Starninchen Posted October 19, 2010 Report Share Posted October 19, 2010 Hallo zusammen Wie kann ich einen 3D Text per Skript verändern? Ih habe schon einiges versucht will aber nicht klappen. Da ich das Objekt nicht direkt verändere sondern es ist das Kind eines Kind-Objektes. Ich habe es u.a. so versucht. function Start () { var hand = GameObject.Find("Slot1/Text1A"); hand = GetComponent(TextMesh).text = "Hello"; } StarmanRoyal Link to comment Share on other sites More sharing options...
Sascha Posted October 19, 2010 Report Share Posted October 19, 2010 hand = GetComponent(TextMesh).text = "Hello"; Schau es Dir mal genau an - das kann nicht wirklich funktionieren. Link to comment Share on other sites More sharing options...
Starninchen Posted October 20, 2010 Author Report Share Posted October 20, 2010 jup, denn so wirds geschrieben var abc = GameObject.Find("Slot1/TextA"); (abc.GetComponent(TextMesh) as TextMesh).text = newtext; Link to comment Share on other sites More sharing options...
Sascha Posted October 20, 2010 Report Share Posted October 20, 2010 Das "as TextMesh" brauchst Du, glaube ich, auch nicht. Link to comment Share on other sites More sharing options...
Thomas Eilmsteiner Posted October 21, 2010 Report Share Posted October 21, 2010 DeinObjekt.GetComponent(TextMesh).text = "Hello World"; So sollte es eigentlich gehen. Tom. Link to comment Share on other sites More sharing options...
Starninchen Posted October 21, 2010 Author Report Share Posted October 21, 2010 ja du hast rechts das "as TextMesh" braucht man nicht Zu einem anderen Problem. Und zwar will ich ja Zahlen anzeigen lassen dazu konvertiere ich Zahlen zu einem String, das funktioniert auch ganz gut, aber nur wenn ich die erste Zeile weg lasse In der erstzen Zeile der For wird jede Zahl zu einem String umgewandelt so das der gesammt String der dritten Zeile der Find jedes mal einen der vier Slots anspricht. Doch das will nicht funktionieren, es liegt allein an der ersten Zeile, da zb im String "StringZahl" bauschal der String "2" gespeichert ist. for (var i=0;i<wieOft;i++) { StringZahl= i.ToString(); var MengeString = Mengen[MengeNR].ToString(); var abc = GameObject.Find("Slot"+StringZahl+"/TextA"); (abc.GetComponent(TextMesh)).text = MengeString; } StarmanRoyal Link to comment Share on other sites More sharing options...
Sascha Posted October 21, 2010 Report Share Posted October 21, 2010 Die Klammern um abc.GetComponent(TextMesh) brauchst Du nicht. Des Weiteren: Javascript sieht das mit den Datentypen sehr locker. Als Konsequenz muss man, um eine Zahl in einen String zu konvertieren nichts weiter tun als einen String anzubamseln, z.B.: (abc.GetComponent(TextMesh)).text = ""+Mengen[MengeNR]; Da sparst Du Dir erstmal Stress mit. Link to comment Share on other sites More sharing options...
Starninchen Posted October 22, 2010 Author Report Share Posted October 22, 2010 ...Da sparst Du Dir erstmal Stress mit. Cool, Danke Aber noch ne andere Frage und zwar. Wie lade ich die Daten wieder aus einem 3D Text heraus? Jeder Slot (zb Slot1) soll untersuchen welchen Inhalt (Zahl) sein Kind hat und darauf reagieren. Der ansatzt ist der selbe def = GameObject.Find("TextA"); Habs mal plump versucht aber es überträgt nur einen String von 0 und nicht 1 der eigentlich drin sein sollte Wort = def.GetComponent(TextMesh).text; # StarmanRoyal Link to comment Share on other sites More sharing options...
Sascha Posted October 22, 2010 Report Share Posted October 22, 2010 Sofern "Wort" vom Typ String ist müsste das funktionieren... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.