Страница документации Pygame о pygame.transform.flip
состояниях
Перелистывание поверхности неразрушающее и возвращает новую поверхность с такими же размерами.
Это означает, чтоповерхность, которую вы передаете этому методу, остается неизменной.Вы должны сохранить значение return , чтобы увидеть какой-либо эффект.
На практике это означает, что вы должны заменить
pygame.transform.flip(characterimg, True, False)
на
characterimg = pygame.transform.flip(characterimg, True, False)
Так что characterimg
указывает на новую, перевернутую версию изображения.
Примечание: С точки зрения производительности, это не очень хороший метод ведения дел.Каждый раз, когда вы вызываете pygame.transform.flip
, pygame должен выделять новую память для новой поверхности, проходить через каждый пиксель исходной поверхности и копировать его на новую поверхность, преобразуя свое положение в процессе.Вам лучше перевернуть изображение один раз в начале вашей программы, чтобы у вас были переменные characterimg_left
и characterimg_right
, а затем просто присвоить их вашей переменной characterimg
.