programmeren

in python

Jaar 2 - Module 1 - Les 3: Pygame Events

vandaag gaan we leren

 

  • Hoe je PyGame gebruikt om te reageren op muiskliks

Met PyGame kunnen we een user interface maken.

thema jaar 2: Pygame

Met PyGame kunnen we een user interface maken​.

 

In een user interface ziet de gebruiker wat hij moet doen, en hoe hij dat moet doen.

 

thema jaar 2: Pygame

Met PyGame kunnen we een user interface maken​.

 

In een user interface ziet de gebruiker wat hij moet doen, en hoe hij dat moet doen.

 

Voor een quiz ziet de gebruiker, bijv de vraag op te beantwoorden, en hoe de vraag beantwoord moet worden, bijv. door op het juiste antwoord te klikken.

thema jaar 2: Pygame

Met PyGame kunnen we een user interface maken​.

 

In een user interface ziet de gebruiker wat hij moet doen, en hoe hij dat moet doen.

 

Voor een quiz ziet de gebruiker, bijv de vraag op te beantwoorden, en hoe de vraag beantwoord moet worden, bijv. door op het juiste antwoord te klikken.

thema jaar 2: Pygame

Dat gaan we vandaag leren!

demo

Dit jaar gaan jullie met PyGame zelf mooie user interfaces maken. Eerst voor je geschiedenisquiz (van voor de vakantie)​.

 

 

Events in Pygame

Dit jaar gaan jullie met PyGame zelf mooie user interfaces maken. Eerst voor je geschiedenisquiz (van voor de vakantie)​.

 

Vandaag behandelen we events (gebeurtenissen) in PyGame.

 

Events in Pygame

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Deze code heb je net in de demo gezien.

Events in Pygame

Deze code heb je net in de demo gezien.

We lopen het in stapjes door.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Sommige code ken je van vorige week.

 

Weet jij nog wat deze regel doet?

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze code laadt PyGame in

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Wat doet deze regel?

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel zet PyGame 'aan'.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel zet PyGame 'aan'.

Dat noemen we initializatie.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Wat doen deze regels?

}

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze twee regels stellen de variabelen breedte en hoogte in

}

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

En deze regel?

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel stelt de grootte van het scherm in op de waardes van breedte en hoogte.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Wat doen deze regels?

}

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze twee regels stellen de variabelen zwart en wit in

}

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Wat doet deze regel?

 

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel laadt het bestand A.png in.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Wat is een while lus?

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel maakt een while lus. Een while lus herhaalt eindeloos.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel maakt een while lus. Een while lus herhaalt eindeloos.

Deze regel maakt een while lus. Een while lus herhaalt eindeloos.

 

De regels die in de lus zitten, beginnen met 2 spaties.

Deze regel ververst het scherm steeds.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel zet de achtergrondkleur op zwart.

 

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel zet de achtergrondkleur op zwart.

 

Zwart hebben we zelf ingesteld!

Deze regel zet A op het scherm.

 

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel zet A op het scherm.

 

Op welke regel wordt A ingesteld?

 

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel zet A op het scherm.

 

Op regel 12!

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze regel zet A op het scherm.

 

A komt op (0,0) Dat is linksboven in beeld.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Nu kijken we naar de nieuwe codes.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze code vraagt aan PyGame welke events (gebeurtenissen) er zijn geweest.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Deze code vraagt aan PyGame welke events (gebeurtenissen) er zijn geweest.

 

Events zijn dingen die de gebruiker doet, klikken met de muis of een toets indrukken.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Daarna vragen we aan PyGame waar de muis staat.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Daarna vragen we aan PyGame waar de muis staat.

 

get_pos() staat voor "get position"

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Daarna vragen we aan PyGame waar de muis staat.

 

get_pos() staat voor "get position"

 

Vergeet de () niet!

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Tenslotte vragen we aan PyGame welke knoppen van de muis er ingedrukt zijn. 

 

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Tenslotte vragen we aan PyGame welke knoppen van de muis er ingedrukt zijn. 

 

Een muis heeft drie knoppen, dus dit geeft ons een lijst.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

demo

Events in Pygame

In deze demo printten we locatie_muis en knoppen. Je ziet zo goed wat erin zit. 

 

  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  print(locatie_muis)
  knoppen = pygame.mouse.get_pressed()
  print(knoppen)

Events in Pygame

In deze demo printten we locatie_muis en knoppen. Je ziet zo goed wat erin zit. 

 

locatie_muis is een (x, y) coordinaat.

 

  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  print(locatie_muis)
  knoppen = pygame.mouse.get_pressed()
  print(knoppen)

Events in Pygame

In deze demo printten we locatie_muis en knoppen. Je ziet zo goed wat erin zit. 

 

locatie_muis is een (x, y) coordinaat.

 

knoppen is een lijst met drie getallen, eentje per muisknop.

 

  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  print(locatie_muis)
  knoppen = pygame.mouse.get_pressed()
  print(knoppen)

Events in Pygame

In deze demo printten we locatie_muis en knoppen. Je ziet zo goed wat erin zit. 

 

locatie_muis is een (x, y) coordinaat.

 

knoppen is een lijst met drie getallen, eentje per muisknop. Is een muisknop ingedrukt, dan komt er een 1.

 

  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  print(locatie_muis)
  knoppen = pygame.mouse.get_pressed()
  print(knoppen)

Nu we weten hoe de lijst knoppen eruit ziet, kunnen we deze code ook lezen.

Events in Pygame

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Nu we weten hoe de lijst knoppen eruit ziet, kunnen we deze code ook lezen.

 

Als de eerste knop op plekje [0] een 1-tje is, betekent dat dat de linkermuisknop is ingedrukt.

Events in Pygame

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

We controleren met een if of de eerste knop op 1 staat.

 

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

We controleren met een if of de eerste knop op 1 staat.

 

Zo ja, dan voeren we de code eronder uit.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

In deze if, staat weer een if!

 

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

In deze if, staat weer een if!

 

In deze if kijken we of de muis op de A stond toen er geklikt werd.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

In deze if, staat weer een if!

 

In deze if kijken we of de muis op de A stond toen er geklikt werd.

 

Als dat zo is, dan printen de A uit.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Nu nog even terug naar deze regel.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Nu nog even terug naar deze regel.

 

Daar gebeurt een hoop tegelijk!

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')
import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Eerst vragen we van A de rechthoek op waarin die ligt.

Events in Pygame

Eerst vragen we van A de rechthoek op waarin die ligt.

 

 

Events in Pygame

Eerst vragen we van A de rechthoek op waarin die ligt.

 

Dit is rechthoek van A.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Nu we de rechthoek van A weten, kunnen we kijken of de muis in die rechthoek ligt.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Nu we de rechthoek van A weten, kunnen we kijken of de muis in die rechthoek ligt.

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Nu we de rechthoek van A weten, kunnen we kijken of de muis in die rechthoek ligt.

 

Dat doen we met de functie collidepoint().

 

 

import pygame

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')

Events in Pygame

Nu we de rechthoek van A weten, kunnen we kijken of de muis in die rechthoek ligt.

 

Dat doen we met de functie collidepoint().

Collide is botsen in het Engels, point is punt. We vragen dus "botst de rechthoek van A met de locatie van de muis?"

 

import pygame, time

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')
  
  time.sleep(0.5)

Events in Pygame

Nog 1 extra regeltje is belangrijk!

 

import pygame, time

pygame.init()

breedte = 800
hoogte = 600
screen = pygame.display.set_mode((breedte, hoogte))

zwart = 0, 0, 0
wit = 255, 255, 255

A = pygame.image.load("A.png")

while True:
  pygame.display.flip()
  screen.fill(zwart)
  screen.blit(A, (0, 0))
  
  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A.get_rect().collidepoint(locatie_muis):
      print('A')
  
  time.sleep(0.5)

Events in Pygame

Nog 1 extra regeltje is belangrijk!


Deze regel zet het programma even op pauze. Anders komen er heel veel A-tjes in beeld.

zodadelijk op de computer...

opdrachten deel b

opdrachten deel b

opdrachten deel b (extra)

opdrachten deel b (extra)

opdrachten deel b (extra)

Python Klas 2 - Module 1 - Les 3

By Felienne

Python Klas 2 - Module 1 - Les 3

Leerdoel Module: PyGame gebruiken Lesdoel: Leren muiskliks afhandelen in PyGame

  • 971