Plugin-Erstellung/Java/Unity Style Sheet (USS)

Aus Rising World Wiki

Unity Style Sheets (USS) sind CSS-inspirierte Stylesheets, die speziell für die Gestaltung der Benutzeroberflächen (UI) in der Unity-Entwicklungsumgebung entwickelt wurden. Die Rising World Plugin-API ermöglicht Entwicklern, USS-Dateien zur Anpassung und Erweiterung der UI zu nutzen.
Die Klasse UIElement im net.risingworld.api.ui-Paket bildet die Basis für UI-Komponenten, während StyleSheetAsset im net.risingworld.api.assets-Paket ein USS-Stylesheet darstellt, das über loadFromAssetBundle aus Unity-Asset-Bundles geladen werden kann. Diese Integration fördert konsistente und anpassbare UI-Designs.


Hauptfunktionen von USS

  • Trennung von Stil und Code: USS erlaubt die Stildefinition unabhängig vom UI-Code.
  • Kompatibilität mit Unity UI-Toolkit: USS arbeitet eng mit Unitys UI-Toolkit zusammen und ermöglicht das Styling von UIElement-Komponenten.
  • Dynamische Anpassung von UI-Elementen: Entwickler können Layout, Größe und Farben von UI-Elementen flexibel anpassen.

Allgemeine Syntax einer USS-Regel

Die Struktur einer USS-Regel ähnelt der CSS-Syntax, wobei der Selektor bestimmt, auf welches UI-Element die Regel zutrifft, und die Eigenschaften (properties) dessen Stil definieren.

selector 
{
  property1: value;
  property2: value;
}

Beispielsweise wendet die folgende Regel eine feste Breite auf jedes Button-Objekt an:

Button 
{
  width: 200px;
}

Benutzerdefinierte Stile

Benutzerdefinierte Stile ermöglichen Entwicklern, benannte Klassen zu erstellen und Eigenschaften wie Farbe, Schriftgröße und Abstände festzulegen.

.info-label 
{
    color: #333;
    font-size: 14px;
    margin-top: 20px;
}

In diesem Beispiel wird auf Elemente der Klasse .info-label eine dunkelgraue Textfarbe, eine Schriftgröße von 14px und ein oberer Randabstand von 20px angewendet.

USS-Properties

Layout Properties

  • flex-direction: Legt die Anordnung der UI-Elemente fest, z.B. in Reihen- oder Spaltenanordnung.
  • justify-content: Bestimmt die Ausrichtung von UI-Elementen entlang der Hauptachse, wie z.B. zentriert oder gleichmäßig verteilt.
  • align-items: Stellt die Ausrichtung entlang der Querachse ein.

Dimension Properties

  • width und height: Definieren die Breite und Höhe eines UI-Elements.
  • min-width und min-height: Setzen die minimalen Dimensionen eines Elements.
  • max-width und max-height: Bestimmen die maximalen Dimensionen, die ein UI-Element annehmen kann.


Relevante API Klassen

UIElement

Die Klasse UIElement repräsentiert das grundlegende UI-Element in Rising World, das als Container oder interaktives Element genutzt werden kann. Der Stil eines Elements wird durch ein Style-Objekt beschrieben, das das visuelle Erscheinungsbild steuert. Mithilfe der Methoden addStyleSheet, removeStyleSheet und updateStyle können USS-Stylesheets angewendet und Änderungen synchronisiert werden. Weitere Details sind in der JavaDoc: UIElement verfügbar.

StyleSheetAsset

Die Klasse StyleSheetAsset, eine Unterklasse von Asset, steht für USS-Stylesheets, die das Design von UI-Elementen definieren. Diese Dateien können mithilfe des Unity UI Builder erstellt und über die Methode loadFromAssetBundle geladen werden, was den Stil und das Layout der UI flexibel anpassbar macht. Details zu StyleSheetAsset sind in der JavaDoc: StyleSheetAsset dokumentiert.


Siehe auch

Unity3D Dokumentation

Forum

Kategorien

Tutorial Kategorien
Plugin-API(1 K, 5 S)
Tutorial(2 S)
Plugin-Erstellung
Java(2 K, 6 S)
Unity(3 S)