Как заставить Listen() ждать между входами?Python

Программы на Python
Ответить
Anonymous
 Как заставить Listen() ждать между входами?

Сообщение Anonymous »

Итак, у меня есть сценарий движения для моей черепахи (называемой mc)

Код: Выделить всё

from turtle import *

wn = Screen()
MC=Turtle()

def w():
mc.shape(FFM1)
mc.forward(40)
mc.shape(FFM2)
mc.forward(40)
mc.shape(FFS)

def s():
mc.shape(BFM1)
mc.bk(40)
mc.shape(BFM2)
mc.bk(40)
mc.shape(BFS)

def a():
mc.shape(LFM1)
mc.setx(mc.xcor() - 40)
mc.shape(LFM2)
mc.setx(mc.xcor() - 40)
mc.shape(LFS)

def d():
mc.shape(RFM1)
mc.setx(mc.xcor() + 40)
mc.shape(RFM2)
mc.setx(mc.xcor() + 40)
mc.shape(RFS)

wn.onkey(w, "w")
wn.onkey(s, "s") # "Back"
#         ^^^^
wn.onkey(a, "a")
wn.onkey(d, "d")

listen()
mainloop()
Это работает, но если я нажимаю, например, d более одного раза, пока черепаха все еще движется, она продолжает двигаться, однако, когда она останавливается, она телепортируется обратно туда, куда должна была идти с самого начала. move.
Я пробовал поместить time.sleep(2) в функцию, но он ничего не делает и просто замораживает черепаху на две секунды, а затем продолжает ломать
п>

Подробнее здесь: https://stackoverflow.com/questions/792 ... een-inputs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»