Kasse Geschrieben 14. September 2014 Melden Share Geschrieben 14. September 2014 Hey leute. Ich versuche seit einer ganzen Weile ein Inventar mit dem neuen Interface zu bauen, bin aber ganz offensichtlich dazu im Stande mit diesen dämlichen recttransforms umzugehen. Wie zum Teufel platziert man diese Dinger richtig ? Ich will ein Fenster (in code) erstellen und dort die Slots für das Inventar ablegen. Blöderweise kriege ich es nicht auf die Reihe das recttransform dieses Fensters korrekt zu platzieren, Höhe und Breite richtig einzustellen und die Anker richtig zu platzieren. Es hilft natürlich auch wenig, dass es bisher keine wirklich Doku gibt (zumindest keine die ich gefunden hätte). Und die Tatsache, dass Unity-Klassen gerne allen möglichen anderen Blödsinn enthalten (leere referenzen auf alles mögliche) macht es natürlich auch nicht wirklich einfacher heraus zu finden was eigentlich Teil der neuen Klassen ist und was nicht. Wie auch immer, ich hab nicht die Zeit noch länger blind zu testen wie das alles funktioniert und wäre daher sehr dankbar falls jemand ein Tutorial/Artikel/Blogpost/Kühlschrank kennt, bei dem es speziell um GUI erstellung in code geht. Oder wenn mir einfach jemand verraten könnte wie diese dämlichen recttransforms funktionieren, wäre ich auch zufrieden Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
delspeedy Geschrieben 14. September 2014 Melden Share Geschrieben 14. September 2014 Diese Links helfen dir sicherlich weiter. Habe alle Video-Tutorials angesehen, damit bekommst du einen schönen Überblick. http://unity3d.com/unity/beta/4.6 -> oben rechts auf Overview klicken. Dort findest du einige nützliche Tuts Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kasse Geschrieben 15. September 2014 Autor Melden Share Geschrieben 15. September 2014 Diese Links helfen dir sicherlich weiter. Habe alle Video-Tutorials angesehen, damit bekommst du einen schönen Überblick. http://unity3d.com/unity/beta/4.6 -> oben rechts auf Overview klicken. Dort findest du einige nützliche Tuts Ich bin mir ziemlich sicher, dass ich schon alles offizielle zum Thema durchgesehen habe. Das blöde ist, dass die nie von Code reden. Wenn ich mir im Editor etwas zusammen klicke, funktioniert das ganze anders als wenn ich es selber code. Zumindest sofern meine Tests sich nicht täuschen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
delspeedy Geschrieben 15. September 2014 Melden Share Geschrieben 15. September 2014 Wenn ich mir im Editor etwas zusammen klicke, funktioniert das ganze anders als wenn ich es selber code. Zumindest sofern meine Tests sich nicht täuschen. 1. Die ganze uGUI ist OpenSource, wenn du dich tiefer in die Materie begeben möchtest. Gibt einen Blog Eintrag auf der unity Webseite 2. Es gibt bei der Beta-Version einen Link ins Beta-Forum. Dort wird auch teils auf das Coden eingegangen. Gibt auch schon ein paar nützliche Scripts. 3. Wenn du es nicht 100% dynamisch brauchst, dann würde ich es im Editor erstellen und evtl. nur ein- und ausblenden. Oder ein Prefab daraus machen. So wird das auch in einem Live Training Tutorial, das auf dem Nightmare Tutorial aufsetzt. 4. Du könntest Code posten, und beschreiben was genau daran nicht funktioniert. 5. Habe bis jetzt noch keine Tutorials gesehen, die sich auf das Coden der uGUI beziehen. 6. Wenn du in C# schreibst, dann kann du schauen ob man evtl. auf ein "IRectTranform" casten kann. Dann siehst du nur noch die Methoden/Porperties die in dem Interface sind. Edit: Das hilft vlt auch ein wenig VS ->F12 über RectTransform namespace UnityEngine { public sealed class RectTransform : Transform { public RectTransform(); public Vector2 anchoredPosition { get; set; } public Vector2 anchorMax { get; set; } public Vector2 anchorMin { get; set; } public Vector2 offsetMax { get; set; } public Vector2 offsetMin { get; set; } public Vector2 pivot { get; set; } public Rect rect { get; } public Vector2 sizeDelta { get; set; } public void GetLocalCorners(Vector3[] fourCornersArray); public void GetWorldCorners(Vector3[] fourCornersArray); } } Edit2: Habe doch etwas gefunden. Video-Tutorial + Code Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kasse Geschrieben 17. September 2014 Autor Melden Share Geschrieben 17. September 2014 Das Video ist leider auch nicht allzu hilfreich :/ Trotzdem danke dafür. Derzeit platziere ich das Fenster einfach nur in der mitte des Screens. Das funktioniert einwandfrei. Dann skaliere ich das ganze so, dass alle Slots rein passen, was auch funktioniert. Aber ich weiß immer noch nicht wie ich nun die Anker an den jeweiligen Ecken platzieren kann... Gibt es übrigens eine eingebaute Dragfunktion für die Panels ? Oder muss ich die selber schreiben ? Edit: Na schön, ich hab's hinbekommen: window.sizeDelta = new Vector2(horizontalSlots * slotPrefab.sizeDelta.x, verticalSlots * slotPrefab.sizeDelta.y); window.position = new Vector2(Screen.width * 0.5f, Screen.height * 0.5f); window.anchorMin = new Vector2(((window.position.x / Screen.width) - (window.sizeDelta.x * 0.5f) / Screen.width), ((window.position.y / Screen.height) - (window.sizeDelta.y * 0.5f) / Screen.height)); window.anchorMax = new Vector2(((window.position.x / Screen.width) + (window.sizeDelta.x * 0.5f) / Screen.width), ((window.position.y / Screen.height) + (window.sizeDelta.y * 0.5f) / Screen.height)); Das erscheint mir aber absurd kompliziert. Da muss es doch wohl eine einfachere Methode geben ?! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
delspeedy Geschrieben 17. September 2014 Melden Share Geschrieben 17. September 2014 Das erscheint mir aber absurd kompliziert. Da muss es doch wohl eine einfachere Methode geben ?! Per Code das ganze zu positionieren ist sicher immer mehr Aufwand, aber dafür eben dynamisch anpassbar. Im Beta Forum gibt es eine Sammlung an nützlichen Scripts. Vlt. ist ja etwas für dich dabei. http://forum.unity3d.com/threads/scripts-useful-4-6-scripts-collection.264161/ Auch gibt es im UI Demo Projekt eine Drag&Drop Scene. Da kannst dir sicher das nötige rauspicken http://forum.unity3d.com/threads/ui-example-project.263418/ 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.