2016-06-07 28 views
1

嗨我的程序中有多個圖像。我希望在屏幕上隨機顯示它們。我試圖通過將圖像放入列表中,然後爲它們選擇隨機位置。但是,當我爲圖片分配變量並將其添加到列表中時,它不起作用。下面是一個例子。如何將圖像添加到列表中

room1 = pygame.image.load("room1.png").convert() 
room_list = [] 
room_list.append(room1) 

然後某處主循環後,我做的

for i in range(0,100): 
    positionx = random.randrange(0,400) 
    positiony = random.randrange(0,400) 
    position = [positionx,positiony] 
    x = random.randrange(room_list) 
    screen.blit(x,position) 

當我運行此,錯誤的是,它必須是一個INT不是一個字符串。

順便提一下,room_list中有多個圖像。

感謝您的幫助,您可以提供:)

+1

最佳做法是在提問時將錯誤跟蹤與代碼一起發佈。 – wwii

+0

你的錯誤信息是什麼,像int()參數必須是一個字符串?因爲'randrange()'想要一個整數而不是一個列表。檢查'randrange()'的文檔:) – Torxed

+0

是的確實是 – abc1234

回答

1

按照randrange文檔,該功能不隨機從列表中選擇一個元素,而是返回從一定範圍內的隨機整數。

調用它的方式是:x = room_list[random.randrange(len(room_list))

或者,更接近您的問題,您可以使用choice函數,如下所示:x = random.choice(room_list)

+0

噢好吧生病了。 – abc1234

+0

所以,如果我使用random.choice它只會選擇圖片 – abc1234

+0

好吧,它的工作感謝 – abc1234

相關問題