所以我在 pycharm 中做一些非常基本的事情,但我的 onkeypress 不起作用。我的意思是,当我按 w、s、向上或向下时,没有任何反应。
这是代码:
# Functions
def paddle_a_up():
y = paddle_a.ycor()
y += 20
paddle_a.sety(y)
def paddle_a_down():
y = paddle_a.ycor()
y -= 20
paddle_a.sety(y)
def paddle_b_up():
y = paddle_b.ycor()
y += 20
paddle_b.sety(y)
def paddle_b_down():
y = paddle_b.ycor()
y -= 20
paddle_b.sety(y)
# Keyboard binding
wn.listen()
wn.onkeypress(paddle_a_up(), "w")
wn.onkeypress(paddle_a_down(), "s")
wn.onkeypress(paddle_b_up(), "Up")
wn.onkeypress(paddle_b_down(), "Down")
提前谢谢您
这是初学者在海龟事件中常见的错误。在这些电话中:
wn.onkeypress(paddle_a_up(), "w")
wn.onkeypress(paddle_a_down(), "s")
wn.onkeypress(paddle_b_up(), "Up")
wn.onkeypress(paddle_b_down(), "Down")
当事件发生时,您应该传递函数的名称以供稍后调用,而不是自己调用它们。应该是:
wn.onkeypress(paddle_a_up, "w")
wn.onkeypress(paddle_a_down, "s")
wn.onkeypress(paddle_b_up, "Up")
wn.onkeypress(paddle_b_down, "Down")