簡體   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