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()

このコードは機能せず、私は一生、その理由を理解できません。最終的に発生するのは、ループが永久に実行され、^ C bounce()が1回呼び出されて、スクリプトが終了することです。forループで試して、100回バウンスできるかどうかを確認しましたが、bounce()は、ループの終了後に1回だけ呼び出します。私はこれにかなり困惑しています。

何かアイデアはありますか?

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 に答える