想要創建一個包含 10 個圖像的組。稍後屏幕上的圖像不應重疊。我嘗試使用 sprite.spritecollide 進行檢查。某處/不知何故圖像消失。可能錯誤地使用了 Spritecollide。
ii = -1
while ii < 10:
ii+=1
img = pygame.image.load(f"Bilder/Gegenstaende/geg{ii}.png")
img = pygame.transform.scale(img,(100,100))
m = Landschaft(img)
zzz = 0
hits = pygame.sprite.spritecollide(m,land,True)
if len(hits) >=1:
for hit_sprite in hits:
zzz +=1
ii = ii -zzz
else:
land.add(m)
pygame.sprite.spritecollide()
有一個doKill參數。如果參數為True
,則所有pygame.sprite.Sprite
發生碰撞的對像都將從 中移除pygame.sprite.Group
。
你必須傳遞False
給doKill:
hits = pygame.sprite.spritecollide(m,land,True)
hits = pygame.sprite.spritecollide(m, land, False)
請注意,如果屏幕上沒有空間,則會出現無限循環。使用應用程序循環一次添加一張圖像:
desired_number = 10
while run:
if len(land) < desired_number:
ii = len(land)
img = pygame.image.load(f"Bilder/Gegenstaende/geg{ii}.png")
img = pygame.transform.scale(img,(100,100))
m = Landschaft(img)
if not pygame.sprite.spritecollide(m, land, False):
land.add(m)
# [...]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句