ich habe ein kleines Problem mit meiner Collision Detection: Sie funktioniert nicht.
Teil des Codes, der relevant ist:
Code: Alles auswählen
class Raumschiff(pygame.sprite.Sprite):
def __init__(self, x, y, image):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(image).convert_alpha()
self.rect = pygame.image.load(image).get_rect()
self.x = x
self.y = y
class Enemy(pygame.sprite.Sprite):
def __init__(self, x, y , image):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(image).convert_alpha()
self.rect = pygame.image.load(image).get_rect()
self.x = x
self.y = y
self.next_update_time = 0
spieler = Raumschiff(x = startx, y = 550, image = schiffimage)
enemies = pygame.sprite.Group()
while True:
screen.fill([0,0,0])
screen.blit(spieler.image, (spieler.x, spieler.y))
time = pygame.time.get_ticks()
enemies.update(time)
for gegner in enemies.sprites():
screen.blit(gegner.image, (gegner.x, gegner.y))
for sprite in pygame.sprite.spritecollide(spieler, enemies, 1):
spieler.kill()
Habe ich den Boolean bei spritecollide auf "1" stehen, sind die Gegner sofort weg, habe ich ihn auf "0" stehen passiert absolut gar nix, keine Collision Detection. Für Ideen wäre ich sehr dankbar.
Edit (Leonidas): Code in Python-Tags gesetzt. Kaputte Umlaute so stehen gelassen.