#python #python-3.x #python-turtle
#python #python-3.x #черепаха-графика #python-turtle
Вопрос:
Это мой код:
import turtle
# window
wn = turtle.Screen()
wn.setup(width=800, height=600)
wn.tracer(0)
def hi():
print("hi")
def bye():
print("bye")
wn.listen()
wn.onkey(hi, "a")
wn.onkeyrelease(bye, "a")
while True:
wn.update()
Когда я нажимаю клавишу, она не выводит «привет», но когда я отпускаю клавишу, она выводит «пока» просто отлично. Что я делаю не так?
Ответ №1:
onkey — это просто псевдоним для onkeyrelease
Вместо этого используйте onkeypress
wn.onkeypress(hi, "a")
wn.onkeyrelease(bye, "a")
Комментарии:
1. Я не использую onkeypress, потому что, когда вы удерживаете клавишу нажатой, функция запускается повторно, но я хочу запустить ее только один раз. Это достижимо другим способом?
2. установите логический флаг при первом вызове. игнорируйте следующие вызовы, снимите флаг с keyrelease.