Отказ от ответственности: я ни в коем случае не эксперт по кодированию на Python или использованию Pygame.
Я заполняю свой экран объектами из базы данных MySQL. Эти объекты имеют различные атрибуты, например, изображение, ширина, высота, x & y и т. Д. Они появляются, когда я запускаю свой скрипт.
Однако, когда я обновлю их значения в таблице, я ожидаю, что они изменятся во время работы моего скрипта. Вот код, который я сейчас использую:
def get_object():
cursor1 = database.mydb.cursor(buffered=True)
cursor1.execute("SELECT * FROM objects")
myresult1 = cursor1.fetchall()
for x in myresult1:
img = pygame.image.load('assets\objects' + x[1])
display.blit(img, (x[3], x[4]))
print(x[3])
def refresh():
get_object()
pygame.display.update()
Я сейчас вызываю обновление простым ключом (в конечном итоге он будет автоматически вызываться)
def main_loop():
pygame.event.clear()
while not g_exit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
refresh()
display.fill(colors.goldenrod)
main_window()
avatar(display_width / 2, main_window_height + 10)
chat_window()
controls_window()
pygame.display.update()
main_loop()
Как я уже сказал, объекты отображаются на экране нормально, и когда я обновляю значения, закрываю и перезапускаю, они появляются в новом месте. Я просто не могу заставить себя обновлять их во время работы скрипта.