3

所以当我遇到一个奇怪的问题时,我只是在解释器里乱搞。我只是想制作一个弹跳的笑脸来照亮我的一天,但由于某种原因我无法做到这一点。如果有人建议,我不想在 Pygame 中这样做。这不是一个项目,这只是我正在做的一些愚蠢的事情,不明白为什么它不起作用。

from Tkinter import *
import time,random

root = Tk()
root.geometry("500x500")
root.mainloop()
bouncer = Label(root, text="=D")

def bounce ():
    X = random.randint(1,500)
    Y = random.randint(1,500)
    bouncer.place(x=X, y=Y)

while True:
    time.sleep(0.5)
    bounce()

这段代码不起作用,我一生都无法弄清楚为什么。最终发生的是循环永远运行,当我调用一次 ^Cbounce() 并且脚本结束时。我在一个 for 循环中尝试了它,看看我是否可以反弹 100 次,但是在循环完成后,bounce() 只会调用一次。我对此感到很困惑。

任何想法,任何人?

4

1 回答 1

4

sleep使进程进入睡眠状态。更好用after

from Tkinter import *
import time,random

root = Tk()
root.geometry("500x500")
bouncer = Label(root, text="=D")

def bounce ():
    X = random.randint(1,500)
    Y = random.randint(1,500)
    bouncer.place(x=X, y=Y)
    root.after(1000, bounce)

bounce()
root.mainloop()
于 2012-12-22T05:41:22.987 回答