簡體   English   中英

當我需要在while循環中合並兩個數組時,如何避免遞歸添加數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM