2D Racer neue Assets und erste Anpassungen (Pt.3)

Weiter geht es mit einem meiner lieblings Assets NGUI. NGui ersetzt die interne Unity GUI „Graphical User Interface“.

NGui ist hier im zu haben Asset StoreNGui NextGen UI

Es gehört nicht zu den günstigsten Assets ca.95€ aber die Investition lohnt sich NGui ist quasi in jedem Spiel anwendbar. Als Tip NGui ist öfter im Tages Deal als o öfter im Asset Store vorbeischauen.

Warum benutze ich NGui?

Es hat seine Vorteile und Nachteile, aber der Hauptgrund warum ich es nutze ist, die Hauptplatform die von Tomajan.com bedient wird ist Android**. Android ist an Hardware ein sehr weit verbreiter Markt viele Geräte bedeutet auch verschiedene Auflösungen von Bildschirmen. Als Spiele Entwickler ist man bestrebt das sein Produkt auf jeden Bildschirm gleich ausieht und richtig skaliert ist. NGui macht diese Aufgabe sehr einfach. Der Nachteil ist das die Dateigröße, die auch ein nicht zu verachtens Detail für den Android Markt ist, größer wird. Die Performance gegenüber der internen, zumindentens der vor Unity 4.6, GUI wird verbessert.

Als nächstes erstell ich mir eine Scene in der ich rumspielen und testen kann. Da das Crash Car Framework in C# gändert wurde, habe ich die DemoScene von dem Paket kopiert und die Skripte ausgestauscht. Alle Javascript gegen das passende C# Skript*. Die Basis ist geschaffen. In dieser Szene wird sich die Entwicklung abspielen. Jetzt wird erst mal ein wenig gespielt, und nebenher immer über die schon vorhanden Skripte schauen. Bis man weiss was man hat wie es gelöst ist und wie man darauf aufbauen kann.

Bei meinem Tests habe ich gemerkt, da der Fokus auf Android liegt, das hier noch einges zu tun ist.Wir fangen mit der GUI an. Es wurde die UnityGUI verwendet, die ersetzen wir gegen NGui. Im späteren Verlauf kommen neue Elemente hinzu, aber am Anfang konzentriere ich mich erstmal auf das was schon da ist.

Übringens falls nicht schon passiert sollte man jetzt auch die Plattform in den Build Settings auf Android stellen. In der Menüzeile unter NGui bei Create ein 2DUiRoot hinzufügen, dort werden jetzt erstmal alle bestehende UIElemente ausgetauscht. Für den Anfang stelle ich unter dem UIRoot im Inspector die Auflösung auf Fixed Mobil, die ausgehende Auflösung passe ich dann der in meinem Editor an und werde in jedem Element das einfüge die Anchors auf Unified stellen.

Dann erstelle ich mehere Widgets die Größe dieser pass ich alle dem UIRoot an. Das mach ich für den TextContainer, Gameover Screen, Pause Screen, Win Screen und GameHUD.

Um die GUI auszutauschen werden Änderungen in den folgenden Skripten gemacht. DeathCar.cs und CarGameManager.cs.

In DeathCar.cs werden die Properties GuiText gegen UILabel ausgetauscht, erstelle ich im TextContainer. Und die Textur gegen eine UIProgressbar, erstelle ich im GameHUD.Die SetBoost () sollte ein IEnumerator sein, dort wird die nOSTexture verwendet und in der Update() jeweils in den if Anweisungen. Für das UILabel muss nichts weiter geändert werden. Man kann natürlich in der Awake() noch eine Referenz zu den beiden NGui Elementen setzen. Das geht da ich das HUD in ein Prefab packe, und somit die Namen nur einmal vergeben werde, mit GameObject.Find(„Name„).GetComponent….

DeathCar.cs

public UILabel mphDisplay;
public UIProgressBar nOSTexture;

void Update
{
if(..){
//....
nOSTexture.value = 1;

}

if(..){
//....
nOSTexture.value = 0;
}

public IEnumerator Setboost (bool boost){
if (boost){
//....
nOSTexture.value -= .02f;
//....
}

}

In CarGameManager.cs wird der GUIText geändert in UILabel, sonst keine weiteren Änderungen kann so erstmal übernommen werden. Den Texture2D für die Pause lasse ich erst mal unberührt, kümmere ich mich später drum.

CarGameManager.cs

public UILabel MyScoreText;
<pre>

So die ersten Änderungen sind getan in dem Skript Car.cs kann nun auch die OnGUI() entfernt werden. Weiter geht es im nächsten Teil dann mit den ersten Änderungen in der Gamelogic und die letzte GUI wird noch ausgetauscht.

*Ich weise nochmal draufhin das dies kein Tutorial ist, sondern ein kleiner Einblick wie Tomajan.com, mit nur zwei Mann Spiele erstellt und Veröffentlicht.

**Kleine Anmerkung: Tomajan bietet seine Spiele derzeit auch für Web und PC. Weitere Plattformen sind in Planung Playstation Vita, IOS und Mac.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*