繁体   English   中英

乒乓球 - 为什么球不动? (可能是 time.sleep 问题)

[英]Pong game - why won't ball move? (possible time.sleep issue)

所以我正在努力提高我的 Python 技能; 我根据教程制作了一款游戏,用于制作经典的乒乓球游戏。 但是,我的代码有两个主要问题,我无法确定是什么原因造成的。

球不动,不如游戏必备的function。 玩家二的得分计数器以指数速度上升,就好像不动的球已经通过了游戏墙的一侧。

对于圆珠笔,我的代码如下。 我认为这可能与游戏循环的时间( wn.update() )有关,但我完全迷失了。 我曾尝试通过导入时间( time.sleep(0.09) )来减慢游戏速度,但没有运气。

我不知道为什么分数会更新,因为球不会移动。 这是在乌龟而不是 PyGame。 下面的代码用于游戏球和笔。

ball.speed(0)
ball.shape("circle")
ball.color("white")
ball.penup()
ball.goto(0, 0)
ball.shapesize(stretch_wid=1.5)
ball.dx = 2
ball.dy = 2

pen = turtle.Turtle()
pen.speed(0)
pen.color("white")
pen.penup()#So it does not draw lines.
pen.hideturtle()
pen.goto(0, 260)
pen.write(" Player One: 0 Player Two", align="center", font=("Courier", 24, "normal"))

在我的主游戏循环中,我有:

    wn.update()
    time.sleep(0.09)  # where 0.09 is the number of seconds (note milliseconds) 
                      # to do nothing for.
    # Moving the ball 
    ball.setx(ball.xcor() + ball.dx)
    ball.sety(ball.ycor() + ball.dy)

你不应该在龟中使用time.sleep()因为它会停止整个游戏及其事件循环,而是使用这个:

screen.ontimer(func_name, 2000) #ms

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM