python-3.x “Turtle”对象没有属性“dx”

zujrkrfu  于 2023-03-13  发布在  Python
关注(0)|答案(1)|浏览(161)

我正在做一个游戏,这个错误显示海龟对象没有属性dx。

# main game loop
while True:
    wn.update()

    #move the ball
    ball.setx(ball.xcor() +ball.dx)
    ball.sety(ball.ycor() +ball.dy)

发生异常:'Turtle'对象没有属性'dx'文件“C:\Users\Desktop\pong game\Pong.py”,第97行,在ball.setx中(ball.xcor()+ball.dx)属性错误:“Turtle”对象没有属性“dx”

dnph8jn4

dnph8jn41#

如果希望ball具有ball.dxball.dy,则需要在代码中使用这些属性之前为其赋值。
例如:

# main game loop

ball.dx=2
ball.dy=3

while True:
    wn.update()

    #move the ball
    ball.setx(ball.xcor() +ball.dx)
    ball.sety(ball.ycor() +ball.dy)

还请阅读此答案的注解中有关上述解决方案用法的所有说明。
根据 ggorlen 的建议,在此添加上述内容的请求:
我建议在帖子上加上一个小小的警告,比如“这通常不是一个好主意”,这样就不会被误认为是一个普遍推荐的方法。使用ball_dx,ball_dy作为分离属性会更好:

# main game loop

ball_dx=2
ball_dy=3

while True:
    wn.update()

    #move the ball
    ball.setx(ball.xcor() +ball_dx)
    ball.sety(ball.ycor() +ball_dy)

相关问题