Upload
trinhnhi
View
214
Download
0
Embed Size (px)
Citation preview
Name: Datum:
AB1
Game DesignEinführung in die Programmiersprache c#
WPU IIAnd
c# - Weiter geht’s
In der letzten Einheit hast du ein kleines Level mit folgenden Komponenten erstellt:
eine Plattform, die von vier niedrigen Wänden begrenzt wird (benenne diese Objekte mit eindeutigen Namen)
zusätzlich eine Kugel, benannt als Player Die Kugel hat einen Rigidbody (über „Add Component“) Main Camera ist so verschoben, dass man die Szene im Spielefenster gut
überblicken kann
Ziel des Spiels soll es später sein, durch kleine Parcours zu manövrieren und
dabei Münzen zu sammeln. Dazu brauchen wir eine Kamera, die unsere
Spielerkugel verfolgt.
Wie beim letzten Mal gilt: Du musst den Programmiercode noch nicht
verstehen können. Erst einmal geht es darum, dass du ein Gefühl für die Art
und Weise bekommst, wie man leblose Gegenstände „zum Leben erweckt“.
Einen Camera Controller programmieren
1. Unter „Project“ erstellst du ein weiteres c#-Script (weißt du noch, wie
das geht? Tipp: „Create….“)
2. Benenne es als „CameraController“
3. Öffne das Script, lösche alles unterhalb von Zeile 5 und füge folgenden
Code hinzu:
Name: Datum:
AB1
Game DesignEinführung in die Programmiersprache c#
WPU IIAnd
4. Über strg + s speicherst du das Script ab und wechselst wieder in das
unity-Fenster
5. Ziehe nun mit gedrückter Maustaste das neue Script auf die
MainCamera im Fenster „Hierarchy“
6. Klicke die MainCamera an und schaue dir im Inspector an, ob das Script
angefügt wurde
Name: Datum:
AB1
Game DesignEinführung in die Programmiersprache c#
WPU IIAnd
7. Du bemerkst vielleicht, dass beim „Player“ nichts zugewiesen ist
8. Deshalb müssen wir dem Script mitteilen, wem es folgen soll ziehe
also den Player aus dem Hierarchy-Fenster in das entsprechende Feld
im Script
9. Speichere die Szene erneut über strg + s ab und probiere das Spiel aus
Was macht dieses Script?
Es erstellt eine öffentliche Variable GameObject mit dem Namen player
deshalb können wir in unity dann unsere Spielerkugel auch dem Script
zuweisen, damit die Kamera ihr folgen kann
Es erstellt eine Variable namens Vector3: diese speichert die Position der
Kamera im Verhältnis zur Kugel zu Beginn des Spiels
Stell dir dazu folgendes vor:
in der Variable wird im Prinzip der Abstand zwischen Kamera und Kugel
zu Beginn des Spiels gespeichert
über transform.position = player.transform.position + offset; wird der
Kamera befohlen, dass sie immer in diesem Abstand bleiben soll also
auch dann, wenn die Kugel sich bewegt und dafür muss sich die
Kamera notfalls mitbewegen
Glückwunsch: Du hast einen CameraController in deinem Spiel!
Kamera
Spieler
Name: Datum:
AB1
Game DesignEinführung in die Programmiersprache c#
WPU IIAnd
Challenge 2: Roll a Ball – Das Level
Verändere dein Level!
Baue einen Parcours, durch den man deine Kugel manövrieren muss
Überlege dir einige Schwierigkeiten (z.B.: Brücken ohne Seitenwände)
Probiere über Create auch unbedingt andere Formen aus
Werde kreativ: Rampen, Brücken, Gruben…alles ist möglich!
Ein etwas komplizierteres Script: Eine Death Box
Nun wollen wir eine unsichtbare Box unter dein Level bringen. Sobald der Spieler hinunterfällt und diese Box berührt, soll das Level neu gestartet werden (schließlich soll man nicht ewig fallen).
1. Klicke ganz oben links auf File Build Settings
2. Klicke auf „Add Open Scene“ nun wird dein Level hinzugefügt3. Als nächstes brauchen wir eine „unsichtbare“ Box dazu klickst du im
„Hierarchy“-Fenster auf Create und dann auf „Empty“4. Das erzeugte GameObject benennst du um zu DeathBox5. Füge über Add Component einen BoxCollider hinzu
Name: Datum:
AB1
Game DesignEinführung in die Programmiersprache c#
WPU IIAnd
6. Passe die Größe über Scale an und setze bei IsTrigger ein Häkchen
7. Erstelle ein weiteres Script mit dem Namen DeathBox und ziehe es auf
die DeathBox
8. Öffne das Script und lösche ALLES darin 😊
9. Dann ersetzt du es durch:
Name: Datum:
AB1
Game DesignEinführung in die Programmiersprache c#
WPU IIAnd
10. Zuletzt musst du noch deine Spielerkugel anklicken
11.Ganz oben im Inspector stellst du ihren „Tag“ von Untagged auf Player
um
12.Ziehe deine DeathBox in die Nähe deiner Spielerkugel und rolle im
laufenden Spiel hindurch
13.Hast du alles richtig gemacht, sollte das Level neu starten
Challenge 3: Roll a Ball – (D)ein kleines Spiel
Platziere die DeathBox unter deinem Level
Sollte ein Spieler beim Durchqueren deines Parcours hinunterfallen,
muss er von vorne beginnen
Probiere aus, passe an (Licht, Schwierigkeit…)