使用pygame,我試圖從兩個較小的列表中創建一個更大的列表。這需要在遊戲循環期間完成,因爲這些列表包含確定與角色碰撞檢測的對象pygame.Rect
。當我需要在while循環中合併兩個數組時,我該如何避免遞歸添加數組?
charArray.append(guy.rect)
collideArray = newMap.rectArray + charArray
當然,因爲這是在遊戲循環,guy.rect
遞歸加入到charArray
,並collideArray
遞歸添加newMap.rectArray
本身,創造了越來越大的列表中的每個幀,最終只是破壞幀率。
有沒有一種方法可以清空每一幀的列表,以便它們只是被重新定義每一幀?或者還有其他一些我需要採取的方法嗎?
當你說「遞歸」,你的意思是」循環「,還是有遞歸涉及某處?此外,'newMap.rectArray'會在循環中更改還是固定? –
當需要繪製新區域時,newMap.rectArray將在循環中更改。同男人一樣(男人是非玩家角色)。當我說它是遞歸的時候,我的意思是數組不斷被添加到自身上。 print(len(collideArray))的輸出每增加一幀。 – lyon