Я создаю простой генератор Dice, используя Breezy PythonGUI. Я заставил все это работать, но теперь я пытаюсь создать анимацию roll или flipping перед игрой в кости roll . Скорее всего, вы поймете, что я пытаюсь сделать, прочитав функцию generate .
'''Dice rolling generator'''
import random
from breezypythongui import EasyFrame
import time
from tkinter import PhotoImage
#from tkinter.font import Font
class DiceGenerator(EasyFrame):
def __init__(self):
EasyFrame.__init__(self, "Dice Generator")
self.setResizable(True)
self.setBackground('#6D8DB9')
self.addLabel(text = 'Dice Generator', row = 0,
column = 0, columnspan = 2, background = '#6D8DB9')
self.die1 = self.addLabel(text = '-', row = 1,
column = 0, sticky = 'E',
foreground = '#FFFFFF', background = '#6D8DB9')
self.die2 = self.addLabel(text = '-', row = 1,
column = 1, sticky = 'W',
foreground = '#FFFFFF', background = '#6D8DB9')
self.image1 = PhotoImage(file = 'd6.png')
self.image2 = PhotoImage(file = 'd6.png')
self.die1["image"] = self.image1
self.die2["image"] = self.image2
# self.die1.configure(font = 14)
# self.die2.configure(font = 14)
self.generate = self.addButton(text = 'Go!', row = 2,
column = 0, columnspan = 2,
command = self.generate)
self.generate.configure(width = 10)
def generate(self):
'This is where I am attempting the animation'
for i in range(20):
x1 = random.randint(1, 6)
y1 = random.randint(1, 6)
time.sleep(.1)
self.image1.configure(file = 'd' + str(x1) + '.png')
self.image2.configure(file = 'd' + str(y1) + '.png')
'The final rolled dice correctly display after this following code.'
x = random.randint(1, 6)
y = random.randint(1, 6)
self.image1.configure(file = 'd' + str(x) + '.png')
self.image2.configure(file = 'd' + str(y) + '.png')
def main():
DiceGenerator().mainloop()
if __name__ == '__main__':
main()
Когда я запускаю функцию generate()
, она приостанавливается на время сна 20 (из-за range(20)
), а затем отображает брошенные кости. Вместо того, чтобы проходить анимацию, она просто действует как замороженная.
Что мне делать, чтобы создать эту анимацию?