Итак, я сделал панель загрузки и сумел заставить ее работать успешно.Тем не менее, я хочу отображать изображение на заднем плане, когда индикатор выполнения прогрессирует, и мои действия падают в пыль, когда я пытаюсь.
Я пытался добавить новую строку, которая бы постоянно "блешила" изображение.screen.blit (loadingimg), но в итоге он выдал эту ошибку:
DS.blit(loadingimg)
TypeError: function missing required argument 'dest' (pos 2)
smallfont = pygame.font.SysFont("comicsansms",25)
DS = pygame.display.set_mode((W, H))
def text_objects(text, color, size):
if size == "small":
textSurface = smallfont.render(text, True, color)
return textSurface, textSurface.get_rect()
def loading(progress):
if progress < 100:
text = smallfont.render("Loading: " + str(int(progress)) + "%", True, green)
else:
text = smallfont.render("Loading: " + str(100) + "%", True, green)
DS.blit(text, [453, 273])
def message_to_screen(msh, color, y_displace = 0, size = "small"):
textSurf, textRect = text_objects(msg, color, size)
textRect.center = HW, HH + y_displace
DS.blit(textSurf, textRect)
while (progress/2) < 100:
event_handler()
DS.fill(WHITE)
DS.blit(loadingimg)
time_count = (random.randint(1,1))
increase = random.randint(1,20)
progress += increase
pygame.draw.rect(DS, green, [423, 223, 204, 49])
pygame.draw.rect(DS, BLACK, [424, 224, 202, 47])
if (progress/2) > 100:
pygame.draw.rect(DS, green, [425, 225, 200, 45])
else:
pygame.draw.rect(DS, green, [425, 225, progress, 45])
loading(progress/2)
pygame.display.flip()
time.sleep(time_count)
Что должно произойти, так это то, что появляется полоса загрузки, и в то время как индикатор выполнения загружается, на заднем плане изображение,После того, как индикатор выполнения достигнет 100%, он перейдет к следующему шагу, но в этом случае я просто хочу, чтобы они оба исчезли после достижения 100%
Мой фактический вывод - просто эта ошибка:
DS.blit(loadingimg)
TypeError: function missing required argument 'dest' (pos 2)