1
だから、私は睡眠機能について知っていますが、それがうまくいくとは思っていませんでした。 私はこのような何か場合:「スリープ」を正しく使うにはどうすればいいですか?
from time import sleep
print('Something')
sleep (10)
print('Something')
をそれはそれは(それは、一つのことを印刷し待機した後、もう一方を出力)する方法(と思う)動作します。
しかし、私のコードでは、そのようには機能しません。 これは全体のコードです。この部分で
from tkinter import *
from time import sleep
# Fenster
window = Tk()
window.title('Test')
c = Canvas(window, height=450, width=800)
c.pack()
# Bildelemente
Hintergrund = PhotoImage(file='Hintergrund.gif')
Background = Label(image=Hintergrund)
Background.image = Hintergrund
Background.place(x=0, y=0)
Boden = PhotoImage(file='Boden.gif')
Ground = Label(image=Boden)
Ground.image = Boden
Ground.place(x=0, y=300)
Char = PhotoImage(file='Char.gif')
Character = Label(image=Char)
Character.image = Char
Character.pack()
# Koordinaten ermitteln
def coordinatesX(id_num):
pos = c.coords(id_num)
x = (pos[0] + pos[2])/2
return x
def coordinatesY(id_num):
pos = c.coords(id_num)
y = (pos[1] + pos[3])/2
return y
# Charakter bewegen
def Char_move(event):
if event.keysym == 'Right' and coordinatesX(Char_) < 800 - 50:
c.move(Char_, 10, 0)
Character.place(x=(coordinatesX(Char_)), y=(coordinatesY(Char_)))
if event.keysym == 'Left' and coordinatesX(Char_) > 0:
c.move(Char_, -10, 0)
Character.place(x=(coordinatesX(Char_)), y=(coordinatesY(Char_)))
if event.keysym == 'Up' and coordinatesY(Char_) < 300 and coordinatesY(Char_) > 0:
jump()
sleep(5)
print('NA')
c.bind_all('<Key>', Char_move)
def jump():
c.move(Char_, 0, -50)
Character.place(x=(coordinatesX(Char_)), y=(coordinatesY(Char_)))
# Objekt zur Postitionsbestimmung vom Charakter
Char_ = c.create_oval(0, 0, 50, 50, fill='red')
c.move(Char_, 100, 223)
Character.place(x=(coordinatesX(Char_)), y=(coordinatesY(Char_)))
私はそれを待ってから(この「例」印刷で)何かをしたい:
jump()
sleep(5)
print('NA')
しかし、私はプログラムとヒットを実行すると'Up'、それは待ってからオブジェクトが上がり、プログラムは同時に「NA」を印刷します。 オブジェクトを上げて待ってから何かを印刷するには、どうすればいいですか?
別の方法を見てください - あなたの質問は睡眠に関するものではありません - それはジャンプがスクリーンをリフレッシュしない理由です – UKMonkey