2017-11-11 63 views
1

我目前正在嘗試開發一個心理學實驗,其中包含150張.tif圖片,需要每次試驗顯示0.5秒,全屏,在聽到噪音之後。每個圖像至少需要呈現一次才能再次呈現。我正在pygame中完成我的實驗。Pygame:如何加載150張圖片,並且每張圖片僅顯示0.5秒每次試驗

我一直在考慮將所有圖像保存到一個目錄中,然後逐個將它們逐一拉出。這似乎是一個好主意嗎?

我對編程非常陌生,希望對類似問題有任何幫助/鏈接。如果我錯過了任何相關信息,請告訴我。

謝謝!

+0

歡迎來到Stack Overflow。請一次只詢問一個具體問題,並嘗試先自己解決問題,然後告訴我們什麼不起作用。看看[幫助中心](https://stackoverflow.com/help/how-to-ask)和[此清單](https://meta.stackoverflow.com/q/260648/6220679)。 – skrx

回答

0
  1. 使用glob模塊,讓您的圖像文件名列表:https://pymotw.com/3/glob/index.html

  2. 遍歷文件名的這份名單中,有pygame.image.load加載它們,並將所得圖像/ pygame.Surface小號追加到列表中。

  3. 將該列表亂序排列,創建一個索引變量(index = 0),並將當前索引處的圖像分配給另一個變量,例如, current_image = image_list[index]

  4. 使用計時器變量來增加索引並在所需的時間間隔check out the pygame.time.get_ticks, set_timer or delta time solutions here之後交換圖像。

  5. 如果索引是>=列表的長度,請將其重置爲0並重新洗牌。

+0

謝謝SOOOO多!!!! –

+0

嗨,我一直在試圖按照你的建議盡我所能,但我卡在第2步。這是我的代碼: 'import pygame,glob types =('* .tif') artfile_names = [] 的文件中的類型: artfile_names.extend(glob.glob(文件)) 打印(artfile_names) 藝術品在artfile_names: pygame.image.load(STR(artfile_names))' 但它給出了無法打開我的文件的錯誤。你能給出一個理由爲什麼? –

相關問題