Pygame: как загрузить 150 изображений и представить каждое из них всего за 5 секунд за пробу

В настоящее время я пытаюсь разработать психологический эксперимент, который включает в себя 150 изображений.tif, которые должны быть представлены в течение 0,5 секунды на испытание, на весь экран, после того, как будет слышен шум. Каждое изображение должно быть представлено как минимум один раз, прежде чем будет представлено снова. Я заканчиваю свой эксперимент в рамках Pygame.

Я думал о сохранении всех изображений в каталог, а затем вытащил их по одному. Кажется ли это хорошей идеей?

Я очень новичок в программировании и был бы признателен за любую помощь / ссылки на подобные вопросы. Если мне не хватает какой-либо соответствующей информации, пожалуйста, дайте мне знать.

Спасибо!

1 ответ

Решение
  1. Использовать glob модуль для получения списка имен ваших изображений: https://pymotw.com/3/glob/index.html

  2. Зациклите этот список имен файлов, загрузите их с pygame.image.load и добавить полученные изображения / pygame.Surface к списку.

  3. Перемешать список, создать индексную переменную (index = 0) и назначить изображение с текущим индексом другой переменной, например current_image = image_list[index],

  4. Используйте переменную таймера, чтобы увеличить индекс и поменять местами изображение после желаемого интервала времени. pygame.time.get_ticks , set_timer или же delta time Решения здесь.

  5. Если индекс >= длина списка, сбросьте его до 0 и перемешать список снова.

Другие вопросы по тегам