1 回答
TA贡献1816条经验 获得超4个赞
不幸的是,该SpriteGroup对象不能被直接索引。
您可以使用SpriteGroup.sprites()成员函数,它返回所有元素的 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 上的函数来测试它是否为空。
添加回答
举报