【发布时间】:2017-03-30 16:02:50
【问题描述】:
我正在制作一个游戏,当精灵在 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
我有背景,其他一切正常,我只是无法从敌人组中删除正确的精灵。
【问题讨论】:
标签: python python-2.7 class pygame