Jump to content
Unity Insider Forum

Hautmenü an Auflösung anpassen?


Recommended Posts

Ich verbessere gerade mein Hauptmenü und möchte es mit einem schönen Hintergrund versehen. Dafür habe ich das folgende Bild:

 

post-3943-0-30650600-1391606748_thumb.png

 

In der Mitte auf dem dunkleren Bereich sollen die Buttons, Menüs, Slider, usw. dargestellt werden. Natürlich soll sich das GUI an verschiedene Auflösungen anpassen. Die Menüs sollen sich also immer in der gleichen Größe auf dem mittigen Streifen abbilden. Wie genau könnte ich das realisieren? :huh: Und am besten gleich mit den in Unity integrierten Möglichkeiten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich teste es mal, der Hintergrund soll von der Größe her immer gleich bleiben, nur die Buttons sollen sich anpassen. Der Hintergrund passt schon so, als GUITexture-Element verhält er sich schon genau so, wie ich das benötige:

 

5:4

post-3943-0-96061800-1391609156_thumb.png

 

16:9

post-3943-0-38939700-1391609166_thumb.png

 

Ich möchte dass die Buttons die Größe verändern und sich so quasi an den schwarzen Balken anpassen. Mal schauen ob's klappt. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wichtig für eine hohe Auflösung beim Hautmenü ist es, dass du keine Mitesser hast.

Würde Clerasil verwenden - evtl. auch ausdrücken (nur wenn sie eitrig sind...)

 

...tut mir Leid - schlechte Scherze sind mein Steckenpferd.

 

Wenn du mit GUI.Matrix arbeitest, aber das Bild NICHT mit skalieren willst, solltest du den Draw Befehl

vor GUI.Matrix setzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst das auch anders machen:

definiere dir eine Variable für die Auflösung in x und eine für die Auflösung in y:

 

float xRes;

float yRes;

 

nun definiere xRes: xRes = Screen.width / 1366;

und yRes: yRes = Screen.height / 768;

 

1366 und 768 sind die aktuellen werte der Auflösung meines Laptops.

Hier musst du natürlich die Werte deiner aktuellen Auflösung einsetzten ;)

 

Wenn du nun deine Rects für die Buttons definierst, dann mache folgendes: if(GUI.Button(new Rect(10 * xRes, 10 * yRes, Screen.width / 2 * xRes, Screen.height / 2 * yRes) , "Start Game") { }

 

jetzt hast du das Menü mit deiner aktuellen Auflösung, ändert sich die Auflösung nun, dann ändert sich entsprechend die Größe und Position an Hand von xRes und yRes.

 

Bei mit klappt das ganz gut. Versuche es mal und gebe mir Rückmeldung

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...