Stap 9: Het schrijven van uw eigen schildpad grafische functies.
Wanneer u uw eigen functies schrijven moeten zij verwijzen naar het object van de schildpad in de functie-definitie zoals in dit voorbeeld:
VOID simpleCar (schildpad & t)
De parameter tussen de haakjes roept de schildpad-object.
De auto wordt geplaatst op het scherm met de functie simpleCar(t);
Dit roept de functie 'simpleCar', en geeft aan dat het de schildpad-object met de naam 't' zal gebruiken.
Dit kan geluid ingewikkeld op het eerste, maar het komt neer op dit:
- Wanneer u een functie die gebruikmaakt van turtle graphics schrijven, schrijven (Turtle & t) als de eerste parameter van de functie.
- Wanneer u uw functie aanroept, schrijven (t) als de eerste parameter van de functie-aanroep.
De 'schildpad & t' in de functie-definitie betekent dat de functie schildpad-object wordt gebruikt. De 't' in de functieaanroep geeft ook aan dat de functie schildpad-object wordt gebruikt.
Laten we een functie schrijven die een auto trekt. Het is eenvoudiger dan de auto in de latere stap omgaan met animatie, omdat die auto is een beetje ingewikkeld om te tekenen. Hier is de eenvoudige versie hierboven:
VOID simpleCar (schildpad & t)
{
t.setHeading(90);
t.arcRight (200, 180); lengte van de boog en graden = boven van auto
t.Right(90);
t.forward(20); onderkant voorzijde van de auto
t.Left(90);
t.arcRight (150, 540); tekenen van een wiel
t.Left(90);
t.forward(30); Midden onderin auto
t.Left(90);
t.arcRight (150, 540); tekenen van een ander wiel
t.Left(90);
t.forward(10); dat is de rest van de onderkant van de auto - gedaan!
}
Sla uw functie aan het eind van de schets van de TURTLEs.ino .
Hier is hoe deze functie aan te roepen. Zet de volgende 3 regels in het Setup -gedeelte van de schets van de TURTLEs.ino :
t.moveTo (100, 200); verhuizing naar onderkant van scherm - of waar u zou willen vestigen van de auto
t.setPenColor("red"); - of welke kleur u wenst de auto te worden
simpleCar(t); dat de auto zal trekken.
Uw auto kan wijzen de verkeerde manier, maar zou u t.setHeading() om dat te bevestigen.