Jump to content
Unity Insider Forum

GUI anpassen


Recommended Posts

Servus da bin ich wieder, ich hab nen kleines problem.

 

Habe meine GUI soweit fertig, jetzt habe ich ein Background eingefügt mit

 

GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),background);

 

Was auch gut funktioniert. Auf diese Türe sollen nun die Buttons kommen für das Menü, was teilweise auch funktioniert, jedoch nur solange ich die Auflösung nicht ändere.

 

Hier einmal zur veranschaulichung:

 

So soll es immer aussehn

post-258-0-94183500-1399404464_thumb.png

Wichtig: Der hangover abend sollte hier noch in das untere Kästchen. hab ich allerdings noch nicht gemacht :) aber denkt euch das einfach^^

 

So sieht es aus wenn ich die Auflösung ändere

post-258-0-25494400-1399404520_thumb.png

 

 

Hab jetzt schon ewig rumprobiert und nach Lösungen geschaut aber nichts wirklich hinbekommen -.-

Link zu diesem Kommentar
Auf anderen Seiten teilen

public static void GUISizeToScreenSizeAuto(int opimitedWidth, int optimitedHeight)

{

Vector2 ratio = new Vector2((float)Screen.width / opimitedWidth, (float)Screen.height / optimitedHeight);

GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, new Vector3(ratio.x, ratio.y, 1.0f));

}

 

public static Rect GUISizeToScreenSize(Rect rect)

{

Vector2 position = GUI.matrix.MultiplyVector(new Vector2(rect.x, rect.y));

Vector2 size = GUI.matrix.MultiplyVector(new Vector2(rect.width, rect.height));

 

return new Rect(position.x, position.y, size.x, size.y);

}

 

Suche dir die width und height aus wofür du optimierst. Zum Beispiel 600 x 480

Danach setzt du in OnGUI ganz oben GUISizeToScreenSizeAuto(600, 480)

ein. Dann muss du aber auch alle Screen.height und Screen.width durch die 600 und 480 ersetzen. An besten globale Variablen.

 

Was das mach ist einfach die GUI vom Gesamt her skalieren. Kleiner oder Größe indem man die Ratio ausrechnet. Die zweite Methode ist nur für einen Element. Also das schöne dabei ist, dass die Box vom Button und die Schrift auch skaliert werden. Danach sollte es gut aussehen :P

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann muss du aber auch alle Screen.height und Screen.width durch die 600 und 480 ersetzen

 

wie meinst das? also für jeden meiner buttons dann auch die 600x 480 einsetzen? Weil wenn ich das mache dann sind die ja nicht mehr so "groß" wie ich sie eigentlich haben will oder?

 

Und wie genau setze ich die 2te Methode ein?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...