如何访问Python中groupcollide()返回的列表中的每个项属性? #包含冲突对象列表的变量。 碰撞=pygame.sprite.groupcollide(子弹,外星人,真,真) #我想访问碰撞对象(异形)属性(异形点)的 如果发生碰撞: 用于碰撞中的外星人。值(): 印刷品(外国人) #print(collisions.values())返回:dict_值([[])) 打印(外星人点)#不起作用

如何访问Python中groupcollide()返回的列表中的每个项属性? #包含冲突对象列表的变量。 碰撞=pygame.sprite.groupcollide(子弹,外星人,真,真) #我想访问碰撞对象(异形)属性(异形点)的 如果发生碰撞: 用于碰撞中的外星人。值(): 印刷品(外国人) #print(collisions.values())返回:dict_值([[])) 打印(外星人点)#不起作用,python,pygame,collision,Python,Pygame,Collision,当前终端输出: [] 终端错误输出: AttributeError:“列表”对象没有属性“点” 工作原理如下: group1中的每个精灵都被添加到返回字典中。每个项目的值是组2中相交的精灵列表 所以你可以 # Variable containing a list of collided objects. collisions = pygame.sprite.groupcollide(bullets, aliens, True, True) # I want to access on of th

当前终端输出:

[]

终端错误输出:

AttributeError:“列表”对象没有属性“点”

工作原理如下:

group1中的每个精灵都被添加到返回字典中。每个项目的值是组2中相交的精灵列表

所以你可以

# Variable containing a list of collided objects.
collisions = pygame.sprite.groupcollide(bullets, aliens, True, True)

# I want to access on of the collided objects (aliens) attribute (aliens.points)

if collisions:
    for aliens in collisions.values():
        print(aliens)
        # print(collisions.values()) returns: dict_values([[<Alien Sprite(in 0 groups)>]])
        print(aliens.points) # doesnt work
        
for bullet in collisions: # each bullet
    for alien in collision[bullet]: # each alien that collides with that bullet
        print(alien.points)