Link
Part 2: https://www.youtube.com/watch?v=7KNQYPcx-uU
Part 3: https://www.youtube.com/watch?v=vdSxOttY3zg
Part 3: https://www.youtube.com/watch?v=vdSxOttY3zg
Waarom deze tutorial?
In mijn spel (zelfde als de inventory) wil ik ook een dialoog systeem maken. Deze tutorial legt uit hoe je dit vanuit een textfile doet.
Wat heb ik er van geleerd?
Een textfile kan je inladen met TextAsset.
Deze textasset kan je dan uitlezen met de text.Split('\n') functie. Dit split de file op bij elke enter. Op die manier kan je verschillende zinnen maken waar de speler dan doorheen kan lezen.
\n betekend nieuwe regel.
Met een currentLine en een endAtLine variable geef je aan op welke regel de text nu is, en op welke hij op moet houden.
FindObjectOfType() kan je gebruiken om een object te vinden met een script welke naam je aangeeft tussen de haakjes.
Wanneer je checkt op een object moet je altijd kijken of het object wel meegestuurd wordt. Dit kan met bijvoorbeeld: if (theText != null)
Door een while loop te gebruiken in een coRoutine kan je een timer maken zonder elke keer de coroutine opnieuw aan te roepen.
Ik deed eerst altijd deze manier:
IEnumerator Timer()
{
if (timer < 10)
{
timer++;
yield return new waitforseconds(1f);
startCoroutine(Timer());
}
}
maar het kan dus ook zo:
IEnumerator Timer()
{
while (timer < 10)
{
yield return new waitforseconds(1f);
timer++;
}
}
je kan de letters meten van een string met lineOfText.length en een specefieke letter aangeven met lineOfText[letter];
Wat heb ik er mee gedaan
Je kan naar een poppetje toe lopen en op enter drukken om te praten.
De text wordt geladen uit een text file op basis van de ID van de npc. (npc 1 laad NPC_1.txt)
De text komt letter voor letter in beeld, als een typemachine en kan versneld worden met enter.
Na het gesprek verdwijnt de textbalk weer.


