Klikken gebruiken om punten te tekenen

Op de vorige pagina, heb je een vorm getekend gebaseerd op een lijst van punten die je hebt gekregen.

Op deze pagina, ga je het proces van het verkrijgen van coördinaten automatiseren door op de gewenste punten op je scherm te klikken.

Bo en Alex gebruiken nog steeds de coördinatenlijst om letters te tekenen.
Alex: "Het intypen van deze coördinaten is echt lastig. Laten we een programma schrijven dat als we een afbeelding hebben, we op de hoekjes kunnen klikken waarna het programma dan de coördinaten verzamelt?"
Bo: "Fantastisch idee! Ik weet dat we afbeeldingen kunnen importeren als achtergrond, dus het enige wat we hoeven te doen is..."
  1. Geen Afbeelding
    Exporteer je nieuwe tekenblokken en abstracte datatypes van je "H2L2-TekenVorm" project, importeer deze in een nieuw project en sla het opnieuw op.
  2. Selecteer een achtergrond naar keuze.

    Je achtergrond klaarzetten

    1. Klik op de speelveldknop onder het werkelijke speelveld.
      Geen Afbeelding
    2. Klik op het "Uiterlijken" tabblad boven in je scherm.
      Geen Afbeelding
    3. Selecteer of importeer een speelveld. In dit project, ga je twee geïmporteerde speelvelden vinden:
      • Een grafiek van het gemiddelde inkomen van Amerikaanse huishoudens per jaar (Bron: Federal Reserve Bank of St. Louis)
      • Een hoofdletter "E" (font: Century Gothic Bold).
      • De grafiek is typisch binnen dataverwerking, wat een onderwerp is van hoofdstuk 3. De "E" borduurt voort op wat we op de vorige pagina hebben gedaan. Kies een van de achtergronden door er op te klikken.
Alex: "We moeten de puntenlijst variabele eerst initialiseren als een lege lijst.""
Bo: "En we weten hoe we een sprite de muis kunnen laten volgen; dit deden we in hoofdstuk 1."
Yasmine: "Ja, en elke keer wanneer we klikken, willen we dat de positie aan een lijst wordt toegevoegd, zoals we deden in Hoofdstuk 1, bij het "Groet Spelers" project.""
Yasmine: "Als we klikken, moeten we de gebruiker feedback geven dat de klik is verwerkt.""
Alex: "Hoe bedoel je? Iets van een geluidje of zo?"
Yasmine: "Misschien, maar ik dacht meer aan dat we elk punt kunnen markeren op de een of andere manier, zodat we zeker weten dat de computer onze klikken opneemt en verwerkt."
Alex: "Ik heb een idee! Er is een Geen Afbeelding blok dat een afbeelding stempelt van de sprite, precies waar die sprite zich dan bevindt op het speelveld."
Yasmine: "Cool! En de schildpad-sprite zal stempels achterlaten, die precies staan naar waar de speler klikt."
Alex, Bo, en Yasmine werken aan de code om hun ideeën te implementeren.
Geen Afbeelding
  1. Het bestand dat je hebt geladen bevat drie onafgemaakte scripts, eentje voor elk van deze stappen. Maak al deze scripten af.
    Als je dit nog niet gedaan hebt, moet je terug gaan naar het Scripts-tab en kies de Sprite-knop onder het speelveld om terug te gaan naar de sprite's scripts.
    1. Geef eerst een passende beginwaarde aan de puntenlijstvariabele.
    2. In het tweede script, heb je een manier nodig om tegen de sprite te zeggen dat hij moet stoppen met het volgen van de muis. Vervang het herhaalblok met een blok dat net zolang herhaalt totdat de speler op de spatiebalk drukt.
    3. In het derde script, staat het stempelblok al goed, maar je zult de code moeten schrijven die de positie van de muis toevoegt aan de lijst met punten. Gebruik je abstracte data-type hiervoor. Geen Afbeelding

Om punten interactief in te voeren, is de methode hierboven het enige wat je nodig hebt. Maar als je een robuuster punten-verzamelprogramma wilt maken, heeft deze methode enkele zwaktes:
  1. Denk na en kijk of je één of beide problemen kunt oplossen.
  2. Hier vind je een alternatieve manier (Engels) die een nieuw idee bevat dat je misschien interessant vindt. Er zijn eenvoudigere oplossingen dan deze, maar het idee hierachter is dat lastigere code vaak bruikbaarder is.
TerugVolgende