Erdnussknacker Geschrieben 5. Februar 2014 Melden Share Geschrieben 5. Februar 2014 Ich verbessere gerade mein Hauptmenü und möchte es mit einem schönen Hintergrund versehen. Dafür habe ich das folgende Bild: 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? Und am besten gleich mit den in Unity integrierten Möglichkeiten. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mauri Geschrieben 5. Februar 2014 Melden Share Geschrieben 5. Februar 2014 GUI.matrix heißt das Zauberwort. Siehe http://answers.unity3d.com/questions/169056/bulletproof-way-to-do-resolution-independant-gui-s.html?sort=oldest und http://www.bensilvis.com/?p=500 Es geht aber auch ohne: http://mczerwonka.pl/dev/?p=102 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Erdnussknacker Geschrieben 5. Februar 2014 Autor Melden Share Geschrieben 5. Februar 2014 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 16:9 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 More sharing options...
reppiz Geschrieben 5. Februar 2014 Melden Share Geschrieben 5. Februar 2014 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 More sharing options...
Flu Geschrieben 6. Februar 2014 Melden Share Geschrieben 6. Februar 2014 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 More sharing options...
Erdnussknacker Geschrieben 7. Februar 2014 Autor Melden Share Geschrieben 7. Februar 2014 Danke für den Hinweis, funktioniert auch. Aber ich hab es jetzt mit der Matrix gemacht. Das End-Ergebnis: 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.