2. Extra oefening: Balls#
Deze opdracht gaat over het reageren op muisklikken.
Sprites#
Download de volgende sprites:
Mappenstructuur#
Maak voor deze oefening in je games map een nieuwe map met de naam balls. Maak in Mu editor een nieuw bestand en sla het op in je balls map onder de naam balls.py. Plaats de gedownloade sprites in de images map in de balls map.
Starter code#
Begin met de volgende code in balls.py:
1# Vensterinstellingen
2WIDTH = 640
3HEIGHT = 480
4TITLE = 'Balls'
5
6# Actors
7ball_blue = Actor('ball_blue')
8ball_green = Actor('ball_green')
9ball_orange = Actor('ball_orange')
10
11# Startposities
12ball_blue.x = 0.25 * WIDTH
13ball_green.x = 0.50 * WIDTH
14ball_orange.x = 0.75 * WIDTH
15ball_blue.y = HEIGHT / 2
16ball_green.y = HEIGHT / 2
17ball_orange.y = HEIGHT / 2
18
19# Stapgrootte
20step = 20
21
22# Functie draw()
23def draw():
24 screen.fill('gray40')
25 ball_blue.draw()
26 ball_green.draw()
27 ball_orange.draw()
28
29# Functie on_mouse_down()
30def on_mouse_down(pos, button):
31 if ball_blue.collidepoint(pos) and button == mouse.LEFT:
32 ball_blue.y -= step
Bekijk de code goed. Probeer van elke regel de betekenis te begrijpen.
Run de code en klik met de linkermuisknop op de blauwe bal. Wat gebeurt er?
Opdracht#
Breid de code uit met de volgende functionaliteit:
Als je met de rechtermuisknop op de oranje bal klikt, moet die één stapgrootte omlaag bewegen.
Als je met een willekeurige muisknop op de groene bal klikt, moet de blauwe bal één stapgrootte omlaag en de oranje bal één stapgrootte omhoog bewegen.
De ballen mogen niet buiten beeld bewegen. Ze moeten volledig binnen de grenzen van het venster blijven.