始终在python中执行并且不需要击键的'onkey'方法?



在snake程序(Python)中,my_screen.onkey(my_snake.turn_up(), 'Up')这行始终在执行。它触发这个'Up'击键事件,而不管my_screen.listen()语句,或者如果我按了任何键!有人可以帮助请,因为我无法让这个正常运行,即它总是运行onkey事件'Up'。

from turtle import Turtle
from turtle import Screen
from snake import Snake
import time
my_screen = Screen()
my_screen.setup(width=600, height=600)
my_screen.bgcolor("black")
my_screen.title("My Snake Game")
'''this causes the screen to stop updating, until it gets the 'Update' function call'''
my_screen.tracer(0)
'''create turtle objects'''
my_snake = Snake()
print(my_snake.segments)
my_screen.listen()
my_screen.onkey(my_snake.turn_up(), 'Up')
game_is_on = True
while game_is_on:
my_screen.update()
time.sleep(.1)
my_snake.move()
my_screen.exitonclick()

实际上,onkey()命令必须有不带大括号的()函数。可以写成

my_screen.onkey(my_snake.turn_up, 'Up')

不是

my_screen.onkey(my_snake.turn_up(), 'Up')

最新更新