Les 03

Programming Fundamentals
Les 03
Assets importeren
Nieuw tekst avontuur!
1 / 33
volgende
Slide 1: Tekstslide
Programming - FundamentalsMBOStudiejaar 2

In deze les zitten 33 slides, met tekstslides.

time-iconLesduur is: 120 min

Onderdelen in deze les

Programming Fundamentals
Les 03
Assets importeren
Nieuw tekst avontuur!

Slide 1 - Tekstslide

Vorige les
Game design elementen
Tekst avontuur

Slide 2 - Tekstslide

Importeren asset pack
Downloaden!
Dubbel klik op het bestand terweil je unity project open staat.
Hou alles aangevinkt!

Slide 3 - Tekstslide

Slide 4 - Tekstslide

Importeren asset pack
Wanneer je de WM2000 Prefab (De blauwe doos) in
de hierarchy sleept, verschijnt er meteen een terminal.
Als je hem nu afspeelt zul je zien dat ie ook meteen werkt!

Slide 5 - Tekstslide

Script
We gaan nu een script aanmaken, MyAdventure genoemd.
Maak dit script aan in een nieuwe folder die we "Scripts" gaan noemen.

Slide 6 - Tekstslide

Script
Ieder script begint met deze 3 regels, zogenaamde Libraries.
Hier halen wij veel van onze mogelijkheden in code vandaan.


Er zijn er nog veel meer, zoals UnityEngine.UI, die we vorige week al hebben gebruikt.

Slide 7 - Tekstslide

Script
In ieder script wordt ook de class gedefineerd. Zorg altijd dat de naam van de class gelijk is aan de naam van het script!

Verder hebben we ook nog 2 functies, Start en Update.
Hier hebben we het vorige week ook even over gehad.
Start wordt een keer aangeroepen wanneer het object begint te bestaan en update wordt iedere frame uitgevoerd.

Slide 8 - Tekstslide

Script

Slide 9 - Tekstslide

Script


Deze twee regels code lijken veel op elkaar, ze laten allebei tekst zien alleen op andere plekken.
Print laat dingen zien in de Console window.
 Terminal.WriteLine is van de asset pack die we hebben geimporteerd, dit laat het dus in de terminal zien.

Slide 10 - Tekstslide

Even tussendoor...
De twee regels code die we net hebben geschreven noemen we statements, eigenlijk een soort commando die door de computer uitgevoerd moet worden.
Deze statements worden afgesloten met een puntkomma ;
Dit is belangrijk voor de compiler, de software die jouw code omzet en uitvoert, om te weten wanneer een statement eindigt.

Slide 11 - Tekstslide

Even tussendoor...
Om onze statements heen zit als eerste zogenaamde "Whitespace", de spaties, tabjes en enters die door de compiler genegeerd worden maar het voor ons wel leesbaarder maken.
Een functie bevat weer een of meerdere statements die uitgevoerd moeten worden. Daar weer boven vind je de class, die alle functies bevat. Als laatste vind je de NameSpace, soms ook library genoemd, dit bevat alle classes van je project.

Slide 12 - Tekstslide

Even tussendoor...

Slide 13 - Tekstslide

Script - Functies
We gaan nu zelf een functie schrijven, namelijk:
private void ShowMainMenu()
Ook deze gaan we weer vullen met statements.

Slide 14 - Tekstslide

Script - Functies
Access Level; Private, Public en Protected.
Bij private alleen in die class te gebruiken, bij public mogen andere classes het gebruiken en bij protected mogen child classes het gebruiken.
Return type; Void, float, int, etc.
Wat voor waarde je terug krijgt uit de functie, meestal is dat Void wat "niks" betekent.

Slide 15 - Tekstslide

Script - Functies
Daarna hebben we de naam van een functie, deze mogen wij zelf verzinnen. Zolang deze maar niet met een nummer beginnen. Verder is het ook handig om ze niet een naam te geven die je ergens anders al gebruikt, om veel verwarring en errors te voorkomen.
Wanneer je een nam bedenkt voor een functie probeer daar in ook duidelijk te maken wat de functie moet doen.

Slide 16 - Tekstslide

Script - Functies
Als laatste hebben we de parameters, de haakjes oftewel ().
Bij deze functie laten we hem nog leeg maar hun kunnen we variabelen in stoppen die we in die functie willen gebruiken.
Als je geen extra informatie nodig hebt, laat je de parameter leeg.

Slide 17 - Tekstslide

Script
Onze eerder geschreven functie om het main menu te laten zien doet verschillende dingen. Het cleart eerst alle eerder geschreven tekst en vult het daarna met nieuwe tekst.
We moeten deze functie eerst nog wel een keer aanroepen, dit doen we voor nu in de Start() functie.

Slide 18 - Tekstslide

Script
Nu we tekst in de terminal hebben gaan we verder naar de volgende stap, reageren op input van de speler.
Vanwege de assetpack die wij hebben geimporteerd is dat simpel genoeg, je hoeft alleen de functie OnUserInput te maken.
Deze wordt uitgevoerd wanneer de speler op Enter drukt, dit neemt dan de laatst getypte tekst en gaat hier mee verder.

Slide 19 - Tekstslide

Script - Parameters en Input
Zoals jullie kunnen zien gebruiken we bij deze functie ook een parameter, namelijk een string.
De input van de speler wordt hierin opgeslagen en met behulp van print laten zien in de console.

Slide 20 - Tekstslide

Script - Parameters en Input
We kunnen de data in de parameter ook aanpassen, we kunnen hier bijvoorbeeld data bij toevoegen.


Zoals je ziet tellen we nu 2 strings bij elkaar op, een beetje raar misschien. Waar het op neer komt is dat het nu van 2 strings, 1 string maakt.

Slide 21 - Tekstslide

Script - Parameters en Input
Dit komt er dan uit eindelijk zo uit te zien:

Slide 22 - Tekstslide

Script - Parameters en Input
We kunnen ook de gegeven waardes vergeleiken, kijken over ze ergens mee overeen komen. Dit doen we simpelweg met ==

Slide 23 - Tekstslide

Script - Parameters en Input
Om de gegeven input te controlleren gaan we aan de slag met if statements. Deze zijn heel simpel, wanneer er aan de volwaarde wordt voldaan wordt de code in de statement uitgevoerd.

Slide 24 - Tekstslide

Script
Zoals jullie zien gebruik ik ook de .ToLower functie op de input string. Dit doe ik zodat als iemand Start in plaats van start invoert (dus met een hoofdletter!), het nog steeds werkt en we verder naar de volgende state kunnen.

Slide 25 - Tekstslide

Script - If/Else if/Else
We kunnen onze if statement van eerder ook uitbreiden door het gebruiken van else if of else.
else if wordt gecontroleerd wanneer de eerste if statement niet voldaan is, en else komt pas aan de beurt wanneer ze allebei 
       niet voldaan zijn.

Slide 26 - Tekstslide

Script - Finite State Machine
We gaan weer met een finite state machine werken, dit doen we met een enumerator. Hierin geven wij alle mogelijke states aan.
We willen ook dat er afhankelijk van de state andere dingen gebeuren.
We stoppen dit ook in een variable,
currentState. Deze geven we in de
start zijn begin waarde.

Slide 27 - Tekstslide

Script
Hierna gaan we voor bepaalde input controlloren gebasseerd op welke state we momenteel in zijn.
Dit kunnen we heel simpel doen met if statements.

Slide 28 - Tekstslide

Script
Daarna kunnen we ook een else if gebruiken om te controlleren of we al in een andere state zijn

Slide 29 - Tekstslide

Script - Switch
In plaats van if statements te gebruiken kunnen we ook een switch case gebruiken.
Dit doen we door te beginnen met switch aan te roepen en tussen de haakjes een variabel mee te geven.
In dit geval is dat currentState.

Slide 30 - Tekstslide

Script - Switch
Vervolgens geven we met case aan wat de waarde van het variabel zou moeten zijn. Hierna stoppen we de code erin die uitgevoerd moet worden.
Sluit een case altijd af met een break!

Slide 31 - Tekstslide

Slide 32 - Tekstslide

Slide 33 - Tekstslide