If 语句检查 sprite.Group = 0

我尝试使用 pygame 创建游戏,然后使用 myTarget=pygame.sprite.Group() 我的问题是如何创建判断 myTarget=0 的 if 语句,我已经在使用

if myTarget=="0"

if myTarget == [0]

但是这些代码都没有触发,我也已经检查过该组内没有更多的精灵(使用 print(myTarget) 说 <Group(0 sprites)> 对不起我的英语


PIPIONE
浏览 94回答 1
1回答

繁华开满天机

不幸的是,该SpriteGroup对象不能被直接索引。您可以使用SpriteGroup.sprites()成员函数,它返回所有元素的 python 列表,然后只测试0该列表中的项目:import pygameclass SimpleSprite( pygame.sprite.Sprite):&nbsp; &nbsp; def __init__(self):&nbsp; &nbsp; &nbsp; &nbsp; pygame.sprite.Sprite.__init__(self)&nbsp; &nbsp; &nbsp; &nbsp; self.image = pygame.Surface( ( 64, 64 ), pygame.SRCALPHA )&nbsp; &nbsp; &nbsp; &nbsp; self.image.fill( ( 255, 255, 12 ) )&nbsp; &nbsp; &nbsp; &nbsp; self.rect = self.image.get_rect()pygame.init()sprite_group = pygame.sprite.Group()&nbsp; # empty group# Make and add 3 sprites to the groupsprite_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] ):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# <<-- HERE&nbsp; &nbsp; print( "Sprite A is the 0th item in the group" )else:&nbsp; &nbsp; print( "Sprite A is NOT the 0th item" )这给了我输出:...组有 3 个精灵Sprite A 是组中的第 0 个项目您也可以使用len()Sprite Group 上的函数来测试它是否为空。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python