Ga naar hoofdinhoud

4.3 De muis gebruiken

Wat moet je al weten

Naast het toetsenbord kun je ook de muis gebruiken in je spel. Met play.mouse kun je de positie van de muis opvragen en een vorm de muis laten volgen.

Muispositie opvragen

Spel laden...
  • play.mouse.x geeft de x-positie van de muis
  • play.mouse.y geeft de y-positie van de muis

Een vorm de muis laten volgen

Spel laden...

De cirkel volgt nu je muis.

Reageren op een muisklik

Met @play.when_mouse_clicked kun je iets laten gebeuren zodra de speler op de muis klikt:

Spel laden...

Als je op de muis klikt, wordt de cirkel rood.

Zolang de muis ingedrukt is

Met @play.while_mouse_pressed kun je iets laten gebeuren elk frame zolang de muisknop ingedrukt is:

Spel laden...

Het verschil met @play.when_mouse_clicked? Die vuurt maar één keer bij het klikken. @play.while_mouse_pressed vuurt elk frame zolang je de muisknop inhoudt.

Opdracht 4.3.a: Muisvolger

Maak een programma waarbij:

  1. Een cirkel de muis volgt
  2. Een tekst bovenaan het scherm de muispositie toont
Klik hier voor de oplossing.
Spel laden...

Opdracht 4.3.b: Batje besturen met de muis

Maak een programma waarbij:

  1. Een rechthoek (het batje) alleen verticaal beweegt met de muis (de x blijft vast)
  2. Een bal heen en weer beweegt en tegen het batje botst
Klik hier voor een tip.

Zet alleen de y van het batje gelijk aan play.mouse.y. De x van het batje blijft hetzelfde.

Klik hier voor de oplossing.
import play

batje = play.new_box(x=300, width=15, height=80)

bal = play.new_circle(radius=15, color='red')
bal.start_physics(obeys_gravity=False, x_speed=200)

@play.repeat_forever
def update():
batje.y = play.mouse.y

Opdracht 4.3.c: Kleur wisselen bij klik

info

In deze opdracht gebruik je het global keyword. Ken je dat nog niet? Kijk dan bij 4.5 Een score bijhouden.

Maak een programma waarbij een cirkel elke keer als je klikt van kleur wisselt: blauw → rood → blauw → rood...

Klik hier voor een tip.

Gebruik een variabele die onthoudt welke kleur het is. Met if en global kun je de kleur wisselen.

Klik hier voor de oplossing.
Spel laden...

Opdracht 4.3.d: Groeiende cirkel

Maak een programma waarbij een cirkel groter wordt zolang je de muis ingedrukt houdt. Als je op 'r' drukt, wordt de cirkel weer klein.

Klik hier voor een tip.

Verhoog cirkel.radius met 1 bij elk frame dat de muis ingedrukt is.

Klik hier voor de oplossing.
Spel laden...