erixx Geschrieben 10. Februar 2016 Melden Share Geschrieben 10. Februar 2016 Hallo, ich habe für meine Items im Inventar tooltips. Die werden per GUI.tooltip aus 2 Strings, die sich aus Namen und verschiedenen Attributen zusammensetzen(vom RandomItemNamen+Attributegenerator), ausgelesen. Nun möchte ich zB dass der Itemname in der ersten Zeile Gelb angezeigt wird, und die Attribute in den anderen Zeilen in rot und lila und grün angezeigt werden.. Hier mal ein Beispiel, wie sich die Beschreibung für ein Item zusammensetz: item.itemName = prefix[Random.Range(0,prefix.Length)]+" "+ cloakNames[Random.Range(0,cloakNames.Length)]+" "+ suffix[Random.Range(0,suffix.Length)]+" \r\n\n" ; var cloakLuck = Random.Range(1,4); if (cloakLuck !=3){ item.description= "Protects against the cold"+" \r\n"; } if(cloakLuck==3){ item.defense = Random.Range(1,playerLevel+5); item.magicDefense= Random.Range(1,playerLevel+5); item.attack= Random.Range(1,playerLevel+5); item.magicAttack= Random.Range(1,playerLevel+5); item.description= item.defense.ToString()+ " Defense"+" \r\n" + item.magicDefense.ToString() +" Magic Defense"+" \r\n" + item.attack.ToString() + " Attack"+" \r\n" +item.magicAttack.ToString()+ " Magic Attack"+" \r\n"; } und hier in der Inventory GUI function: if (GUI.Button ( new Rect(spx,spy,s,s),new GUIContent (itemData.item[itemSlot[0]].icon, itemData.iteml[itemSlot[0]].itemName + ""+ itemData.item[itemlSlot[0]].description ))){ das Ganze schaut dann in etwa so aus : und nun möchte ich, dass diverse Zeilen, wie zB. der Name, in anderen Farben angezeigt werden. Doch wie ist das möglich, da das ganze ja nur 2 Strings (item.name und item.description) sind. Vielleicht habt ihr eine Idee? Update: Ich glaub ich habs hinbekommen. Mit GUIStyle und "richText = true" wird es bestimmt klappen. Evtl muss item.description in einzelne Zeilen getrennt werden, also jede andersfarbige Zeile eine eigene Variable bekommen. Und wenn item.description = "<color=yellow>"+item.description+"</color>"; funktioniert, dann wär das ja prima. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Cxyda Geschrieben 10. Februar 2016 Melden Share Geschrieben 10. Februar 2016 .. du solltest WIRKLICH überlegen auf das neue Unity UI umzusteigen, es sei denn du stehst auf schmerzen und Erniedrigung beim neuen UI System kannst du ganz einfach RichText in den strings übergeben und kannst somit ganz einfach ziemlich viel machen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
erixx Geschrieben 11. Februar 2016 Autor Melden Share Geschrieben 11. Februar 2016 Achja, das neue UI... Damit werd ich mich wohl erst einmal anfreunden müssen. Doch wenn man es kann, geht bestimmt so manches viel einfacher und schneller. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.