1 回答

TA貢獻1816條經驗 獲得超4個贊
不幸的是,該SpriteGroup對象不能被直接索引。
您可以使用SpriteGroup.sprites()成員函數(shù),它返回所有元素的 python 列表,然后只測試0該列表中的項目:
import pygame
class SimpleSprite( pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface( ( 64, 64 ), pygame.SRCALPHA )
self.image.fill( ( 255, 255, 12 ) )
self.rect = self.image.get_rect()
pygame.init()
sprite_group = pygame.sprite.Group() # empty group
# Make and add 3 sprites to the group
sprite_a = SimpleSprite()
sprite_b = SimpleSprite()
sprite_c = SimpleSprite()
sprite_group.add( sprite_a )
sprite_group.add( sprite_b )
sprite_group.add( sprite_c )
print( "Group has %d sprites" % ( len( sprite_group ) ) )
if ( sprite_a == sprite_group.sprites()[0] ): # <<-- HERE
print( "Sprite A is the 0th item in the group" )
else:
print( "Sprite A is NOT the 0th item" )
這給了我輸出:
...
組有 3 個精靈
Sprite A 是組中的第 0 個項目
您也可以使用len()Sprite Group 上的函數(shù)來測試它是否為空。
添加回答
舉報