Hey thanks @deanhystad that was super-useful. I've been pulling my hair out over this for a while now!
@deanhystad I've just noticed that with your insight, I can now go back to using plain old Turtle methods:
@deanhystad I've just noticed that with your insight, I can now go back to using plain old Turtle methods:
def start_bomb_drop(): # Prevent further key presses until drop is finished tp prevent event stacking. screen.onkey(None, "space") # bomb.goto(plane.xcor(), plane.ycor()) bomb.showturtle() __continue_bomb_drop() def __continue_bomb_drop(): bomb.goto(bomb.xcor(), bomb.ycor() - 12) if bomb.ycor() < - height // 2 or bomb_collision(): stop_bomb_drop() else: turtle.ontimer(__continue_bomb_drop, BOMB_DELAY) def stop_bomb_drop(): bomb.hideturtle() # It's now safe to allow another bomb drop, so rebind keyboard event. screen.onkey(start_bomb_drop, "space")