我在 python 海龟中的 onkeypress 不工作

问题描述 投票:0回答:1

所以我在 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")

提前谢谢您

python turtle-graphics python-turtle
1个回答
1
投票

这是初学者在海龟事件中常见的错误。在这些电话中:

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")

© www.soinside.com 2019 - 2024. All rights reserved.