treadmill, anleitung, selberbauen, do it yourself, diy

Vorwort

Willkommen zum dritten Teil des Blogs. Es handelt sich um ein kleines Programmiertutorial. Am Ende dieses Tutorials ist der Grundstein für den Motion-Capture Teil der Anleitung gelegt.

Was machen wir heute:

  • Wiederholung: Basisbefehle in GlovePie
  • Analyse des Spiels
  • Umsetzen in Codezeilen

Um diesen Blog nachvollziehen zu können, sind die letzten beiden Blogs wichtig. Deshalb hier die Links:     erster Blog     zweiter Blog

Bei Desinteresse oder chronischer Faulheit kann dieser Teil des Blogs übersprungen werden. Ihr könnt einfach zur unten stehenden Download-Sektion gehen.

 

Wiederholung: Basisbefehle in GlovePie

Ich nehme an, dass ihr die Wiimote mit dem Computer verbunden und GlovePie geöffnet habt. Nun beginne ich mit der Wiederholung.

Tasten können gedrückt oder nicht gedrückt sein. Also auf “Ja” oder “Nein” bzw. auf “1” oder “0” stehen. Viele Codezeilen des heutigen Blogs haben folgende Form:

(Mir wird etwas zugewiesen) = (Ich weise der linken Seite etwas zu)

Was links vom “=” steht, nimmt den Wert, also die 0 oder 1 von dem an, was rechts vom “=” steht.

wiimote.A

ist 1, wenn man die A-Taste der Wiimote drückt oder 0, wenn die A-Taste der Wiimote nicht gedrückt ist.

(Mir wird etwas zugewiesen) = wiimote.A

bedeutet also, dass der linken Seite 1 zugeordnet wird, wenn die A-Taste der Wiimote gedrückt wird und 0 zugeordnet, wenn die A-Taste der Wiimote nicht gedrückt wird.

Wir wollen, dass die Tastatur-A-Taste genau dann gedrückt ist, wenn die Wiimote-A-Taste gedrückt ist. Da Tastatur auf Englisch “keyboard” heißt:

keyboard.A = wiimote.A

Dies bedeutet, dass der PC “denkt”, dass die Tastatur-A-Taste genau dann gedrückt ist, wenn die Wiimote-A-Taste gedrückt ist.

 

Analyse des Spiels:

Im Folgenden wird aufgelistet, welche Befehle im Spiel Bioshock vorkommen. Jeder Befehl wird durch das Drücken einer Tastatur-Taste oder einer Maus-Taste ausgelöst. Diese können natürlich unter „Steuerung“ innerhalb des Spiels geändert werden. Jeder dieser Befehle soll einer WiiMote-Taste zugeordnet werden. Folgende Tabelle listet alle diese Informationen auf:

Tabelle 1

Befehl Tastaturtaste WiiMote-Knopf
Springen Leerzeichen (Space) Nunchuk Z
Wechseln zwischen Waffe und Plasmiden Rechte Maustaste Wiimote B
Waffen- /Plasmidwechsel Mausrad (Hier nur oben) Wiimote 1
Ducken/ Nicht Ducken C Wiimote 2
Einsammeln von Gegenständen E Wiimote Minus
Menü Esc (Escape) Wiimote Plus
Hacken V Wiimote Analogkreuz Rechts
Karte M Wiimote Analogkreuz Unten
Verbandskasten benutzen F Wiimote Analogkreuz Links
Tagebucheintrag abspielen T Wiimote Analogkreuz Oben

 Tabelle 2

Gehen W / S Laufband und Nunchuck Analogstick Vorne / Hinten
Drehen A / D Nunchuck Analogstick Links / Rechts
Schlagen / Schießen Linke Maustaste Schlagen mit der Wiimote, A Knopf, …
Menünavigation Mausbewegung Wiimote Analogkreuz?Schon Belegt

 

Nach der Einführung kann man den Eindruck haben, dass die Befehle der obigen Tabelle einfacher umsetzbar sind, als die Befehle der unteren Tabelle. Warum? Alle Befehle der obige Tabelle lassen sich mit dem An-Aus-Schema der obigen Wiederholung umsetzen. Die Befehle der unteren Tabelle benötigen noch andere Codezeilen. Deshalb beginnen wir mit der obigen Tabelle.

Alle Befehle der unteren Tabelle werden im nächsten Blogbeitrag besprochen.

Damit das Skript auch soweit funktionieren kann, müssen innerhalb des Spiels die Tastenbelegung wie hier angegeben gewählt werden! Ihr solltet das Skript noch ohne die Oculus testen.

 

Umsetzen in Codezeilen:

Der erste Befehl ist „Springen“. Ist das Spiel richtig eingestellt, so springt der Charakter, wenn man die Leerzeichen-Taste drückt. Dem Computer soll vorgegaukelt werden, dass die Leerzeichen-Taste gedrückt wird, genau dann wenn beim Nunchuck die Z-Taste gedrückt wurde.

Entsprechend ergibt sich folgende Codezeile:

keyboard.Space = wiimote.Nunchuk.Z

Dies bedeutet, dass der PC “denkt”, dass die Tastatur-Leerzeichen-Taste genau dann gedrückt ist, wenn die Nunchuk-Z-Taste gedrückt ist.

Auf die Schreibweise wiimote.Nunchuck.? möchte ich nicht weiter eingehen, da es zu weit führt. Allen Kenner objektorientierter Programmiersprachen sei gesagt, dass „Nunchuck“ ein Child der Wiimote-Klasse ist. Allen anderen sei gesagt:

Immer wenn der Nunchuck gebraucht wird, kann man nicht Nunchuk.? schreiben, sondern muss wiimote.Nunchuk.? schreiben.

Entsprechend lauten die weiteren Codezeilen für die Befehle der ersten Tabelle:

keyboard.Space = wiimote.Nunchuk

mouse.RightButton = wiimote.B

mouse.WheelUp = wiimote.One

keyboard.C = wiimote.Two

keyboard.E = wiimote.Minus

keyboard.Esc = wiimote.Plus

keyboard.V = wiimote.Right

keyboard.M = wiimote.Down

keyboard.F = wiimote.Left

keyboard.T = wiimote.Up

 

Downloadsektion:

Das Skript welches ihr euch hier runterladen könnt, könnt ihr in GlovePie laden und starten. Es ist mit Kommentaren versehen, welche die Funktionsweisen beschreiben.

 

avatar
  Abonnieren  
Benachrichtige mich bei