Jump to content
Unity Insider Forum

Rect Problem


Ich

Recommended Posts

Hey Leute,  ich habe ein problem...

Ich habe ein Image und habe ein Rect genau auf der größe des Image erstellt.  

Rect ButtonRect = new Rect(340, 740,  300, 300);

und wenn ich auf dem Rect drauf bin wird "Hallo" ausgegeben

 if (ButtonRect.Contains(Input.mousePosition)){
                Debug.Log("Hallo");
            }

die Bildschirmauflösung beträgt 1920 x 1080 doch wenn die Bildschirmauflösung 1280 x 720 beträgt ist der Rect nicht mehr auf dem Image und das ist mein Problem.

Könnte man den Rect je nach Bildschirmauflösung anpassen??

Wenn ja wie? 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi ^

theoretisch kannst du einfach deine Position & Größe prozentual zu deiner Auflösung angeben.

Also z.B. x = ( 340 / 1920 ) * 1280;

 

Die Frage ist aber auch, wie du die Position & Größe deines Bildes festlegst.

Wenn du das neue UI-System von Unity benutzt, kannst du dir den Schritt mit den Rects sparen und einen 'Event Trigger' mit einem 'OnPointerEnter' event benutzen.

Alternativ könntest du dir aus dem Rect Transform über den Pivot, Width & Hight ( oder ggf. über die Anchors ) dein Rect berechnen.

Liegt dein Bild auf einer Plane in der Scene o. Ä. , wäre es ohnehin fraglich, wie sinnvoll es ist das Rect zu hardcoden..

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst die GUI Matrix für solche Skalierungen verwenden, aber ich würde - wie Mr 3d- ebenfalls davon abraten die Legacy GUI von Unity zu verwenden. Ich habe einen Thread angehangen, der js-Code beinhaltet (dieser Code zielt auf eine Zielauflösung von 1080x1920), welcher die Verwendung der GUI Matrix zeigt, aber wie gesagt, bevor du dich damit auseinandersetzt solltest du lieber zu die neuen UI-Komponenten von Unity greifen. Die Legacy GUI von Unity oftmals schwerer zu verstehen und sie ist so gut wie nicht mehr dokumentiert. 
http://answers.unity3d.com/questions/156619/scaling-the-gui-with-different-screen-resolutions.html

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...