Stap 6 : De Gameplay
Zoals je gemerkt hebt blijft de pong bal gewoon doorvliegen als het niet tegen de spelers of de muren botst.
Om dit op te lossen kun je de bal vernietigen/deleten zodra de positie van de bal verder is dan de spelers paddles. Hiervoor kun je de ‘Destroy ()’ optie gebruiken.
Omdat na het verdwijnen van de bal ook een nieuwe bal in het spel nodig is, kun je een kopie van de bal maken met de ‘Instantiate ()’ optie.
Dit wordt bijvoorbeeld ook gebruikt om vijanden in een spel te ‘spawnen’!
Open het PongBalGedrag script in Monodevelop.
Typ of kopieer/plak de volgende twee if-statements/codeblokken in het ‘Update ()’ gedeelte van het script zoals hieronder:
// Update is called once per frame
void Update () {
if (transform.position.x > 8)
{
Instantiate(gameObject, new Vector3(0,0.75f,0), Quaternion.identity);
Destroy(gameObject);
}
if (transform.position.x < -8)
{
Instantiate(gameObject, new Vector3(0,0.75f,0), Quaternion.identity);
Destroy(gameObject);
}
}
In gewone taal staat hier:
“Als de positie van de bal op de x-as (links/rechts) groter is dan 8,
maak dan een nieuwe kopie van de bal in het midden van het level en vernietig daarna deze bal”
En daarna:
“Als de positie van de bal op de x-as (links/rechts) kleiner is dan -8,
maak dan een nieuwe kopie van de bal in het midden van het level en vernietig daarna deze bal”
Sla het script weer op met Ctrl+S, keer terug naar Unity en test de code met Play.
Zoals je ziet verdwijnt de bal nu als hij achter éen van de spelers komt, en verschijnt er meteen weer een nieuwe!:
Ga verder naar Stap 7 : Score!