Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pygame获得科里德雪碧的名称_Python_Pygame - Fatal编程技术网

Python Pygame获得科里德雪碧的名称

Python Pygame获得科里德雪碧的名称,python,pygame,Python,Pygame,对于我用pygame编写的游戏,我需要检测碰撞 因为这是使用pygame.sprite.spritecollide(),它给我一个colided sprite的列表。然而,他们的名字并不是那么容易理解: 这里有两个可乐雪碧 如何获得精灵的真实名称?由于不清楚您的目的是什么,最明显的解决方案是只向每个精灵添加一个名称参数。然后在碰撞后,您可以执行以下操作: for sprite in pygame.sprite.spritecollide(sprite1, group1): print(

对于我用pygame编写的游戏,我需要检测碰撞

因为这是使用pygame.sprite.spritecollide(),它给我一个colided sprite的列表。然而,他们的名字并不是那么容易理解: 这里有两个可乐雪碧


如何获得精灵的真实名称?

由于不清楚您的目的是什么,最明显的解决方案是只向每个精灵添加一个名称参数。然后在碰撞后,您可以执行以下操作:

for sprite in pygame.sprite.spritecollide(sprite1, group1):
    print(sprite.name)
    if sprite.name == 'foo':
        # do whatever
要使其工作,您需要在sprite代码中定义参数:

class MySprite(pygame.sprite.Sprite):
    def __init__(self, name):
        # <your other sprite code>
        self.name = name

我以为你知道如何在精灵中添加“name”属性。我更新了答案。
sprite1 = MySprite('test sprite')