Het batje bewegen
import play
paddle = play.new_box(
color='black',
x=0,
y=0,
width=20,
height=100,
)
@play.when_key_pressed('up')
def paddle_omhoog(key):
if key == 'up':
paddle.y = paddle.y + 10
play.start_program()
We moeten het batje wel kunnen bewegen. Maar hoe?
@play.when_key_pressed('up')
De regel code hierboven betekent dat de code eronder alleen draait als het pijltje omhoog ingedrukt is.
def paddle_omhoog(key):
Dit is een belangrijke regel. key krijgt de waarde van de toets die ingedrukt wordt. Als je pijltje omhoog ingedrukt hebt, krijgt key dus de waarde van up.
if key == 'up':
paddle.y = paddle.y + 10
Als je pijltje omhoog hebt ingedrukt, kunnen wij het batje verplaatsen d.m.v. de y coördinaat.
De nieuwe waarde van y is de waarde die y eerst had + 10. En dan gaat deze dus omhoog.
Stap 1: draai dit script
Stap 2: code aanpassen
Kun je de code uitbreiden zodat het batje ook naar beneden beweegt met pijltje naar beneden?
Klik hier voor een tip
Welk if-statement kun je toevoegen? Hoe zorg je dat y lager wordt?
Vind je het lastig? Klik hier voor een voorbeeld.
import play
paddle = play.new_box(
color='black',
x=0,
y=0,
width=20,
height=100,
)
@play.when_key_pressed('up')
def paddle_omhoog(key):
if key == 'up':
paddle.y = paddle.y + 10
@play.when_key_pressed('down')
def paddle_omlaag(key):
if key == 'down':
paddle.y = paddle.y - 10
play.start_program()
Stap 3: het batje niet het scherm uit
Misschien vind je het vreemd dat het batje het scherm uit kan.
import play
paddle = play.new_box(
color='black',
x=0,
y=-300,
width=20,
height=100,
)
@play.when_key_pressed('up')
def paddle_omhoog(key):
if key == 'up':
if DOOR_JOU_IN_TE_VULLEN:
paddle.y = paddle.y + 10
play.start_program()
Wat kunnen we invullen bij DOOR_JOU_IN_TE_VULLEN zodat het batje niet het scherm uit gaat. Tip:
- play.screen.top is een getal dat de bovenste pixel van het scherm aangeeft
- paddle.top: is een getal dat de bovenste pixel van het batje aangeeft.
Vind je het lastig? Klik hier voor een voorbeeld.
import play
paddle = play.new_box(
color='black',
x=0,
y=-300,
width=20,
height=100,
)
@play.when_key_pressed('up')
def paddle_omhoog(key):
if key == 'up':
if paddle.top < play.screen.top:
paddle.y = paddle.y + 10
play.start_program()