问题描述
因此,我在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")