我正在制作一款游戏,当精灵在x轴下降到100以下时,它应该被删除。所有精灵都位于一个类中。当第一个精灵到达终点时,它会删除组中的最后一个精灵,而不是第一个。
敌人类
敌人类
class Enemy(pygame.sprite.Sprite):
def __init__(self,x,y):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load('Enemy.gif').convert()
self.rect = self.image.get_rect(x=x, y=y)
def update(self):
self.rect.x -= 4
def die(self):
for enemy in EnemyList:
if enemy.rect.x<100:
EnemyList.remove(enemy)
def draw(self, DISPLAY):
DISPLAY.blit(self.image, self.rect)
主循环(敌人部分)
time = 0
while not Gameover: #Loop of the gameplay
if time in (0,50,100,150,200):
enemy = Enemy(DIS_HEIGHT,random.randrange(0,DIS_HEIGHT)
enemy.add(EnemyList)
EnemyList.update()
EnemyList.draw(DISPLAY)
enemy.die()
time +=1
我有相关背景,其他一切都正常,只是无法从敌人组中删除正确的精灵。