Unity 3D-Tutorial: #27 – GUILayout

06.09.2010 - Carsten - Der Softwareentwickler Blog - 15 Kommentare

Unity3D CarRacing TutorialDieser Artikel gehört zu einer ganzen Tutorial Serie. Hier gelangt Ihr zu der Artikelübersicht: Unity 3D Tutorial Serie .

Im letzen Teil hatten wir begonnen ein Startmenü für unser Spiel zu erstellen, von dem aus der Spieler dann das Zeitrennen starten kann.

Hierbei haben wir die Steuerelemente mit der GUI-Klasse erzeugt. In diesem Teil möchte ich Euch die GUILayout-Klasse vorstellen, mit der Ihr Euch das Leben beim GUI-Design um einiges leichter machen könnt.

Tutorial-Inhalt

Im vorherigen Tutorial nutzten wird zum Erstellen des Start-Buttons die Klasse GUI. Da man aber bei jedem Element dieser Klasse immer die jeweiligen Koordinaten und die Größen mitgeben muss, kann dies bei komplexen Menüs doch schnell unübersichtlich werden.

Deshalb gibt es in Unity die GUILayout-Klasse. Das Zentrieren eines Menüs mit vielen GUI-Elementen ist damit zum Beispiel überhaupt kein Problem und zudem auch schnell gemacht. In dem folgenden Video-Tutorial demonstriere ich Euch genau dies.

Video-Tutorial

Da dieses Tutorial eine Länge von 10 Minuten hat, ist es mal wieder ein einteiliges Video-Tutorial geworden. Bei Fragen und Anmerkungen könnt Ihr wie immer die untere Kommentarfunktion nutzen. Ich freue mich auf Eure Meinungen!

Aber nun viel Spaß mit dem dieswöchigen Unity-Tutorial zum Thema GUILayout:

Ich hoffe, dass Euch das Tutorial gefallen hat!

Hier geht es weiter zum nächsten Unity 3D-Tutorial: #28 – Mit PlayerPrefs Daten speichern und laden


Zu diesem Thema hab ich übrigens bereits ähnliche Artikel verfasst. Vielleicht interessiert Dich ja einer:

15 Kommentare zu ' Unity 3D-Tutorial: #27 – GUILayout '

Kommentare zu 'Unity 3D-Tutorial: #27 – GUILayout' mit RSS

  1. Drak kommentierte am 06.09.2010 um 11:20 Uhr

    Ich habe ne frage wan stellste alle Scripte rein ? :cool:

  2. Carsten - Der Softwareentwickler Blog kommentierte am 06.09.2010 um 12:29 Uhr

    Die meisten Scripte sind in den dazugehörigen Artikeln enthalten. Das aktuelle Menü-Script hab ich jetzt nun noch nicht online gestellt. Aber so komplex ist es ja nicht, oder? :smile:

  3. Peter kommentierte am 06.09.2010 um 17:17 Uhr

    Hallo Carsten

    Ich habe Deine Tutorials gespannt verfolgt und finde dass du sehr gute Arbeit leistest! Danke dafür! :)

    Ich habe ein paar Fragen zur Zeitmessung…
    Kannst Du noch etwas zu Checkpoints und Zeiterfassung (Bestzeiten etc.) zeigen? Eine Liste mit den Rennzeiten? (verschiedene Benutzer) Oder geht das zu weit? :)

    Liebe Grüsse

  4. Carsten - Der Softwareentwickler Blog kommentierte am 06.09.2010 um 19:23 Uhr

    @Peter: Vielen Dank für Dein Kommentar und für das Lob :smile: Eigentlich wollte ich ja in der Tutorial-Reihe nur ein paar Grundlagen erklären, aber irgendwie ist es ein bisschen mehr geworden :wink:

    Mal sehen, ich bin noch am überlegen, wie weit ich mit der Serie gehen werde.

    Gruß
    Carsten

  5. Drak kommentierte am 08.09.2010 um 07:57 Uhr

    Ja schon es gibt aber einen fehler bei dir am 22 tut Erlärst du ja das mit den 5 4 3 2 1 Das mann sich da nicht vortbewegen kann da komm immer bei mir eine fehler meldung und die ist gewaltig aber bitte kannstzees rein stellen ich brauche es umbedingt Also bb :cool: :cool::cool:

  6. Pascal kommentierte am 08.09.2010 um 22:42 Uhr

    Hallo Carsten,

    Hast das mit dem GUILayouts echt gut erklärt.
    Weißt du zufällig wie der befehl unter Unity heißt um mouseover auf eine grafik innerhalb der GUI zu übertragen, ne eigene function (OnMouseDown) bekomm ich leider nicht in die if-schleife rein.
    Danke für deine Hilfe

    Gruß
    Pascal

  7. Felix kommentierte am 09.09.2010 um 14:19 Uhr

    Hallo Carsten,
    ich hab mal eine Frage. Geht es eine Variable(String) die in Java erzeugt wurde mit einem C# Script zu benutzen? Also um es besser zu erklären:
    Ich hab mit Java ein Textfield erzeugt und der Text ist halt der String.
    Mit einem C# Script kann ich Texte in .txt Dateien speichern. Und ich möchte jetzt diesen String nutzen um eine Datei zu Speichern mit dem Inhalt des Strings.
    Aber leider kann ich nicht auf den String zugreifen!! Kannst du mir helfen?

    Gruß Felix

  8. Carsten - Der Softwareentwickler Blog kommentierte am 09.09.2010 um 19:21 Uhr

    Wenn Du in einem Javascript eine Variable mit STATIC deklarierst, kannst Du aus anderen Scripten auf diese zugreifen:

    Script1:
    static var text : String;

    Script2:
    test = Script1.text;

    Und dieser Zugriff wie im Script2 müsste auch in C# funktionieren.

  9. Drak kommentierte am 09.09.2010 um 21:44 Uhr

    Pacel ich bin gerade für dich ein Script zu schreiben ich hoffe es gefelt dir ich gebe dir dan den linl okay dauert etaws

  10. Pascal kommentierte am 09.09.2010 um 23:17 Uhr

    @Drak

    okey?! solange du beim scripten nicht soviele tippfehler machst, dass ich es noch debuggen muss is alles super :smile:

  11. Felix kommentierte am 10.09.2010 um 19:27 Uhr

    Danke erstmal,
    ich hab das Problem mit zwei GUITexten gelößt aber trotzdem danke aber ein Problem gibt es dennoch gibt es einen Befehl wie “charAt()”? weil ich will diesen String auf Sonderzeichen überprüfen lassen aber es geht damit nicht!! hier nich die adresse falls du es in dem tuturial brauchst : http://www.perlunity.de/perl/forum/thread_016390.shtml

  12. Carsten - Der Softwareentwickler Blog kommentierte am 12.09.2010 um 13:18 Uhr

    Hi Felix,

    in Unity kannst Du das mit Javascript wie folgt lösen:

    var t : String;
    var c : char;
    c = MeinString[1];
    t = c.ToString();

    Das Beispiel holt sich das 2. Zeichen (also Item “1″) aus dem String “MeinString”.

  13. Felix kommentierte am 12.09.2010 um 14:09 Uhr

    Danke Carsten
    und was kommt im nächsten Teil? :)

  14. Drak kommentierte am 12.09.2010 um 21:55 Uhr

    Wnn wirst du die ganzen scripte rein stellen bitte auch die kleinen teilen:razz:

  15. Unity3D Tutorial Serie - Der Softwareentwickler Blog kommentierte am 20.09.2010 um 09:42 Uhr

    [...] Unity 3D-Tutorial: #27 – GUILayout Für eine einfachere Gestaltung und Anordnung von GUI-Elementen gibt es die Klasse GUILayout. Hier erkläre ich wichtige Funktionen dieser Klasse. [...]

Leider ist die Kommentarfunktion zur Zeit deaktiviert.