import easygui, sys, random, time, tkinter, pygame
Running = True
while Running is True:
Создает экран и загружает 11 изображений для моделирования, как я могу использовать цикл и переменные, чтобы заглушить код? Единственное различие между каждым.png файлом - часть frame_XX файла изображения. Я попытался реализовать переменные в именах файлов, но никогда не работает.
pygame.init()
loading_screen = pygame.display.set_mode([600, 300])
loading_screen.fill([0, 0, 0])
pygame.display.set_caption("Student Planner 2")
LoadBar1 = pygame.image.load("frame_00_delay-0.06s.png")
LoadBar2 = pygame.image.load("frame_01_delay-0.06s.png")
LoadBar3 = pygame.image.load("frame_02_delay-0.06s.png")
LoadBar4 = pygame.image.load("frame_03_delay-0.06s.png")
LoadBar5 = pygame.image.load("frame_04_delay-0.06s.png")
LoadBar6 = pygame.image.load("frame_05_delay-0.06s.png")
LoadBar7 = pygame.image.load("frame_06_delay-0.06s.png")
LoadBar8 = pygame.image.load("frame_07_delay-0.06s.png")
LoadBar9 = pygame.image.load("frame_08_delay-0.06s.png")
LoadBar10 = pygame.image.load("frame_09_delay-0.06s.png")
LoadBar11 = pygame.image.load("frame_10_delay-0.06s.png")
Создайте анимацию экрана загрузки, перевернув дисплей для всех одиннадцати изображений, затем закройте программу, когда цикл закончен, этот же вопрос здесь: как я могу использовать циклы и переменные, чтобы заглушить код.
for looper in [1, 2, 3, 4, 5]:
loading_screen.blit(LoadBar1, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar2, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar3, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar4, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar5, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar6, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar7, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar8, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar9, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar10, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
loading_screen.blit(LoadBar11, (100, 150))
pygame.time.delay(20)
pygame.display.flip()
pygame.quit()
Running = False
Ваша инициализация LoadBar
может выполняться в цикле и в списке:
for i in range(11):
LoadBar[i] = pygame.image.load("frame_%02d_delay-0.06s.png" % i)
так что весь цикл анимации может быть сделан с вложенным for
цикла, который перебирает в LoadBar
список:
for _ in range(5):
for loadbar in LoadBar:
loading_screen.blit(loadbar, (100, 150))
pygame.time.delay(20)
pygame.display.flip()