2015-12-09 38 views
0

我正在使用pygame制作一个小游戏,并且想要删除已从屏幕消失的对象。我想做的是如何从本身中删除对象实例

class Projectile(pygame.sprite.Sprite): 
    def __init__(self, path, move_speed, x_pos, y_pos): 
     super().__init__()   
     self.rect = self.image.get_rect() 

    def move(self): 
     if self.rect.y < 0: 
      del self 

但这并不起作用。我该怎么办?

+0

你在哪里存储对象? – jwodder

+0

@jwodder在一个组中,我后来从中得到一个精灵列表并迭代它。我现在解决了我的问题。 – ca1ek

回答

0

好吧,我找到了解决办法。

在我的游戏循环我做

for projectile in projectile_group.sprites(): 
    if projectile.rect.y < 0: 
     projectile.kill() 

,它会杀死那些关闭屏幕的任何抛射。