Skins auswählen
Ihr könnt Skins auswählen indem ihr in eurem Bot die Methode
public String getSkin(int characterIndex)
überschreibt. Diese gibt für jeden Index (Nummer des Charakters von 0 bis TeamSize -1) den Namen des Skins zurück. Ihr könnt hier für alle Charaktere den gleichen Skins zurück geben, oder für jeden einen anderen. Die Namen der Skins sind dabei case-sensitive. Die eingebauten Standard-Skins heißen:
Ihr könnt allerdings auch eure eigenen Skins verwenden.
Custom Skins
G.A.D.S.E.N besitzt eine speziellen Shader der es uns ermöglicht eine Animation einmal zu erstellen, und dann für ein beliebiges Aussehen anzuwenden. Da diese Mechanik durch einen Shader funktioniert kann sie zur Laufzeit angewendet werden, was es euch ermöglicht eigene Skins zu verwenden:
Das Erstellen eines eigenen Skins ist dabei relativ simpel. Ihr müsst einfach nur unser Template mit eurem eigenen Skin übermalen. Hier ein Beispiel für den yinYangSkin:
Augen
Ohren
Kopf
Torso
Arme
Beine
Schwanz
Eine Sache die ihr beachten müsst: Der Skin muss sich für alle möglichen Positionen der Katze eignen. Daher gibt es viele „Pixel“ mehrfach, aus verschiedenen Winkeln. Bsp. hat jeder Arm 4 verschiedene Seiten und Beine und Schwanz jeweils links und Rechts. Der Kopf ist auch sehr breit um verschiedene Ansichten von links nach rechts zu ermöglichen. Gleiches gilt für den Torso.
Wenn ihr euch nicht sicher seid und es einfach halten wollt, könnt ihr bei Armen, Beinen und Schwanz einfach alle Pixel die nebeneinander sind gleich färben (Horizontale Streifen)
Übrigens: wie ihr an der Yin Yang Katze sehen könnt, bleibt die Richtung des Skins erhalten, auch wenn sich die Katze nach links dreht.
Die fertigen Skins könnt ihr dann einfach in den /skins/ Ordner parallel zur jar und dem /bots/ Ordner als PNG oder JPG speichern und mittels des Namens ohne Endung im Spiel auswählen.
Animierte Skins
Ihr dachtet das war es schon?
Weit gefehlt! Da wir die Skins dynamisch zur Laufzeit anwenden hält uns nichts davon ab, statt eines einzelnen Skins eine Reihe von leicht verschiedenen Skins durchzuwechseln. Und schon haben wir eine Animation.
Das coole an einem solchen animierten Skins ist, dass er bestimmte Details wie z.B. blinzeln oder blinkende Accessoirs auf einen Animation-Cycle packen kann, der unabhängig von den eigentlichen Bewegungen des Charakters ist.
Dies könnt ihr umsetzen indem ihr die frames eures skins mit _[frameNummer] durchnummeriert. Z.B. mySkin_7.png
Euer Skin wird dann mit 10 FpS abgespielt. Allerdings müsst ihr nur die Frames speichern, die sich von vorherigen unterscheiden. Alle vorhergehenden Frames werden mit Kopien aufgefüllt.
Hier ein Beispiel für 2 Frames mit den Namen mySkin_3.png und mySkin_5.png:
Probiert gerne verschiedene Dingen aus. Zum Teil lässt sich auch Transparenz in den Skins verwenden und damit viel Spaß mit eurem ganz eigenen Team