[英]How do I avoid recursively adding arrays when I need to merge two arrays in a while-loop?
使用pygame,我試圖從兩個較小的列表中創建一個更大的列表。 這需要在游戲循環期間完成,因為這些列表包含pygame.Rect
對象,這些對象確定與角色的碰撞檢測。
charArray.append(guy.rect)
collideArray = newMap.rectArray + charArray
當然,由於這是在游戲循環中, guy.rect
以遞歸方式添加到charArray
,而collideArray
以遞歸方式將newMap.rectArray
添加到自身,每幀創建一個越來越大的列表,最終只會破壞幀速率。
有沒有辦法可以每幀清空列表,以便每幀都重新定義它們? 或者我需要采取其他方法嗎?
在每個幀結尾處“清空”每個數組的最簡單方法是在每個循環結束時將它們設置為空:
while game==True:
#your game code goes here
charArray,collideArray = [],[]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.