0

我是python的新手,我正在尝试使用turtle库创建一个乒乓球游戏。代码的相关部分如下:

import turtle

#(and some code for generating the paddle)

#Function
def paddle_a_up():
    y=paddle_a.ycor() #take y cord
    y+=20 
    paddle_a.sety(y) #change y cord of paddle_a
    print(y) #tried to print the y cord

#Keyboard Binding
wind.listen() #listen the keyboard input
wind.onkey(paddle_a_up(), "w")

#Main Game Loop
while True:
    wind.update() #keep update while game run

但是,当我按下“w”时,桨没有移动,即使我将此键绑定到该paddle_a_up功能。我将y坐标设置为0并尝试y在绑定函数中打印坐标,但是当我运行程序时,y即使我没有按任何键,也会达到 20 的值。希望有人可以帮忙?

谢谢

4

1 回答 1

0

我不熟悉,turtle但这行代码有一个问题:

wind.onkey(paddle_a_up(), "w")

我很确定这里的意图是将此功能绑定到w角色的按下。但是,相反,您调用了该函数,并将其结果绑定到按键。这会导致两件事:

  • y甚至在游戏开始之前,的值就达到了 20。
  • w关键不是真的绑定paddle_a_up到。

将上面的行替换为:

wind.onkey(paddle_a_up, "w")

(函数名后没有括号)

如果您的其余代码是正确的,那么这将解决问题。

于 2020-05-10T18:07:41.453 回答