Jump to content
Unity Insider Forum

Freeway Racer for Android


Recommended Posts

Hallo zusammen,

 

nach der seit langem erstellten PC Version arbeite ich nun an der Android Version.

Hier schon einmal die ersten Bilder davon. Ziel des Spiels ist es, möglichst unfallfrei viele Meilen mit dem Auto zu hinterlegen, das ganze in entgegen des Verkehrs. Einige Icon kann man auf der Strasse aufsammeln, die Vorteile aber auch Nachteile mit sich bringen.

 

freewayracerpic0.pngfreewayracerpic1.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

Lars, wenn ich jetzt die Grafiken ändere ist es ja keine Konvertierung zum PC Spiel. Das Spiel wird also grafisch so bleiben. Wenn dieses Spiel fertig ist, ist ein ähnliches Spiel wie dieses geplant, das wird 3D sein und auch mit realen Grafiken ausgestattet. Also ein grösseres Projekt, als meine bisher erstellten Spiele. Näheres kommt dann auch hier als Projektvorstellung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

Also ich habe gerade so meine Probleme mit der Highscore und der Eingabe über das Handy (Name, wenn Score erzielt ist). Wenn mir da jemand behilflich sein kann, würde ich mich sehr freuen. Im Gegenzug würde ich denjenigen 2D / 3D Grafiken oder Musik / SFX erstellen. Eine interne Highscore langt mir schon. Open Feint wäre zwar genial, aber soweit ich weis, lesen die auch die Telefonnummern und Adressen im Handy aus. Irgendwas war da diesbezüglich. Also eine interne wäre schon schön.

 

Gruß, Wolle

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ein interner Highscore sollte doch ganz einfach sein (auch bei Android).

Wenn der Spieler fertig ist, dann geht ein Screen auf, wo sien Score zu sehen ist und welchen Platz er hat. Dabei ist dann einfach ein GUI Texteingabefeld in dem er seinen Namen eintragen kann. Sobald der Fokus auf dem GUI Element ist, sollte die Tastatur erscheinen. Jedenfalls passiert das bei iOS so.

Ja und die eingegebenen Namen speicherst du einfach über Playerprefs ab.

Wenn du z.B. eine Highscoretabelle von 10 Plätzen hättest, erzeugst du dir 2 10Stellige Arrays. Eines für die Namen eines für die Werte.

Diese Arrays füllst du einmalig mit Dummywerten, wenn noch keine Playerprefs da sind, du also zum aller ersten Mal das Spiel spielst.

Das kannst du ermitteln indem du einfach ein Playerpref abfragst. Wenn du z.B. ein Int abfragst und es nicht da ist, dann bekommst du "0" zurück. Bei einem String wäre es "". So könntest du einen String ablegen, der dir sagt, dass die PP schon erstellt sind.

 

PlayerPrefs.SetString("gemacht","Ja");

 

Wenn

abfrageVariable=PlayerPrefs.GetString("gemacht");

Jetzt "Ja" ist, dann wurden sie geschrieben und können den Arrays übergeben werden. Wenn das Ergebnis "" ist, dann beschreibst du die Arrays mit Dummywerten und schreibst diese Dummywerte auch in die Playerprefs.

// aus Arrays in Playerprefs schreiben
for (var i:int=0; i<9;i++){
  PlayerPrefs.SetString("Name"+i,name[i]);
  PlayerPrefs.SetInt("Score"+i,score[i];
}

 

// aus Playerprefs in die Arrays screiben
for (var r:int=0;r<9;r++){
  name[r]=PlayerPrefs.GetString("Name"+r);
  score[r]=PlayerPrefs.GetInt("Score"+r);
}

 

Wenn ein Spieler jetzt Fertig ist, musst du nur das ScoreArray abfragen, ob der erreichte Score größer ist als der kleinste Arraywert (also Platz9) . Bei der Abfrage kannst du auch gleich ermitteln, an welchen Platz der neue Wert käme.

Jetzt wird der Eingabedialog angezeigt und nachdem der Spieler seinen Namenbestätigt hat, verschiebst du alle Arraywerte um einen Platz nach hinten, bis du an den ermittelten Platz angekommen bist. Dort kommt dann der neue Wert rein.

Ja und jetzt speicherst du diese neuen Listen einfach wieder in die PlayerPrefs.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich die Eingabemaske habe, wo ich schreiben kann, etwas eingebe, kommt der erste Buchstabe, dann kommt der zweite Buchstabe + der erste Buchstabe usw. am Ende hat man dann einen Namen wie z.B. WWoWwwool statt Wol....

 

private var keyboard : TouchScreenKeyboard;
private var playername: String = "";

function Start() {
keyboard = TouchScreenKeyboard.Open(playername,TouchScreenKeyboardType.ASCIICapable,false,false,false,false, playername);
}

function Update () {
   for (var c : char in Input.inputString) {
    // Backspace - Remove the last character
    if (c == "\b"[0]) {
	    if (guiText.text.Length != 0)
		    guiText.text = guiText.text.Substring(0, guiText.text.Length - 1);
    }
    // End of entry
    else if (c == "\n"[0] || c == "\r"[0]) {// "\n" for Mac, "\r" for windows.
	    print ("User entered his name: " + guiText.text);
    }
    // Normal text input - just append to the end
    else {
	    guiText.text += c;
    }
   }
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

UI!

Musst du für Android extra das Keyboard holen?

Bei iOS muss man das nicht.

Wenn ich da ein z.B. GUI.TextField nutze und dem Feld den Fokus gebe, also drauf klicke, dann kommt die Tastatur von alleine.

Hast du das mal mit dem Android getestet? Unity selber schreibt, dass es in den "meisten" Fällen gehen solle.

 

http://unity3d.com/support/documentation/ScriptReference/GUI.TextField.html

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen, ja das Spiel ist nun soweit fertig. Ich würde mich freuen, wenn sich mal jemand per PM melden würden im Bezug auf das Testen des Spiels. Also was braucht man dafür. Ein Android Handy mit mindestens der Version 2.1.

Im Spiel sind wie oben eventuell schon gesehen 3 Strecken zur Auswahl, gespielt werden kann per Buttons oder per Tilt Funktion, letzteres macht irgendwie mehr Spaß. Wenn jemand ein Galaxy Tab hat, der kann das logischer Weise auch gerne testen.

Als kleines Dankeschön bekommt ihr das Spiel for free und mal sehen, vielleicht baue ich noch Credits ein, je nach dem wieviele das Spiel testen.

 

Erfahrung als Spieletester wäre da ein grosses Plus! Warum schreibe ich das? Weil das Testen tatsächlich Arbeit ist, denn ich möchte schon gerne schriftlich das ein oder andere Manko aufgezählt bekommen. Einfach nur:"Jo....ganz nett!", das hilft dann nicht wirklich weiter. Warum stelle ich nicht einfach so ein Download zur Verfügung? Weil ich genau wissen möchte, wer das Spiel anspielt. Ein .pdf File gilt es auch zu unterschreiben, dass man das Spiel, welches zur Zeit fertig ist auch nur als solches verwendet.

Die endgültige Version ist dann wie schon geschrieben for free, darf aber logischer Weise nicht als Download bereit gestellt werden.

 

Wer jetzt denkt:"Toll, viel Arbeit und dann nur das Spiel for free", der hat dann auch recht, aber mehr kann ich zur Zeit nicht anbieten. Aber vielleicht hat doch jemand Lust, wer weis.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...