==== Zachytávání kláves ====
from turtle import Turtle, Screen
# Setup Screen
wn = Screen()
wn.setup(700, 700)
wn.title('white')
wn.bgcolor('black')
# Create Player
player = Turtle('triangle')
player.speed('fastest')
player.color('white')
player.penup()
def forward():
player.forward(20)
def left():
player.left(90)
def right():
player.right(90)
wn.onkey(forward, 'Up')
wn.onkey(left, 'Left')
wn.onkey(right, 'Right')
wn.listen()
wn.mainloop()
Navázaná je pouze událost //keydown//, neboli když jde klávesa dolů a když se operační systém rozhodne, že vám ji (stisknutou pošle).
Pro většinu použití tedy potřebujeme evidenci která klávesa je stisknutá. Proto odchytáváme //keydown// - stisk a //keyup// - zvednutí. Mezi těmito událostmi považujeme klávesu za stisknutou.
from turtle import Screen,Turtle
import time
wn = Screen()
wn.setup(700, 700)
player = Turtle('triangle')
stisknutaUp = False
def stisk_klavesyUp():
global stisknutaUp
stisknutaUp = True
def uvolneni_klavesyUp():
global stisknutaUp
stisknutaUp = False
wn.onkeypress(stisk_klavesyUp, 'Up')
wn.onkeyrelease(uvolneni_klavesyUp, 'Up')
def pohyb():
if stisknutaUp:
player.forward(10)
wn.listen()
while True:
pohyb()
#nejaky dummy pohyb
player.left(1)
player.right(1)