2016-05-06 9 views
-2

私はTkinterでPythonを使用してゲームを作成しています。ゲームが終了すると、画像として挿入した「Game Over」を表示しようとしています。それから数秒後に別の画像を入れたいと思います。私はtime.sleep(2)を間に入れようとしましたが、うまくいかず、試合終了直後に停止します。どのようにtime.sleepなしで遅延するには?

+4

など、色の変更、画像、変更テキストを入れ替えることができ、あなたのコードは、してください貼り付けることはできますか? –

+1

tkinterの 'after'関数を見てくださいhttp://effbot.org/tkinterbook/widget.htm#Tkinter.Widget.after-method –

+0

' master'の 'update()'メソッドを 'time .sleep(2) 'ステートメント? – ZbyszekKr

答えて

2

"遅延"とは思わない、 "予定"と思う。通常のように「ゲームオーバー」画面を作成し、afterを使用して何らかのアクションをスケジュールすることができます。これにより、GUIはイベントに応答し続けることができます。

次の例では、2秒でウィンドウ「ゲームオーバー」を破壊する、しかし、あなたは簡単にだけ

import Tkinter as tk 

def gameover(): 
    top = tk.Toplevel(root) 
    label = tk.Label(top, text="Game over!") 
    label.pack(padx=20, pady=20, expand=True) 
    top.after(2000, top.destroy) 

root = tk.Tk() 
button = tk.Button(root, text='Click to simulate "game over"', command=gameover) 
button.pack(padx=20, pady=20) 

root.mainloop() 
+0

これはうまくいかないようです。ゲームが終了したら画面上にイメージを作成しました。後で別のイメージを作成する必要があります。私は実際に "後"を試しましたが、最初にそれを処理しなかったと思った後でそれを終了したいと思っていました。私はまだ初心者です。 –

関連する問題