Hi Pygame-Gurus,
weiß jemand was ich hier falsch gemacht habe ? Es schaut so aus wie eine Garbage-Collection, hat es mit dem kopieren der sprite-group zu tun ?
Problem:
Sobald viele Sprites im Spiel sind (linke Maustaste mehrmals drücken) kommt es manchmal (nach ca. 20 Sekunden) zu einem extrem langen Intervall zwischen 2 mainloop-Durchgängen. Siehe Wert für max (von Millisekunden zwischen 2 Frames) in der Titelleiste. Der Wert sollte so um 30 millisekunden liegen, erreicht manchmal Werte von >300. Siehe auch die nach oben laufende grünen Balken (1 lila Querstrich entspricht 10 Millisekunden).
http://www.spielend-programmieren.at/wi ... eitproblem
Warum hab ich seltsame "Pausen" in Pygame (>400
- HorstJENS
- User
- Beiträge: 123
- Registriert: Donnerstag 9. Februar 2006, 21:41
- Wohnort: Wien, Österreich
- Kontaktdaten:
gelöst dank Gumm aus der pygame-mailingliste.
Lösung:
Lösung:
Code: Alles auswählen
#pygame.sprite.groupcollide(group1, group2, dokill1, dokill2):
#return Sprite_dict
collisions = pygame.sprite.groupcollide(birdgroup, birdgroup, False, False)
for bird in collisions.keys():
for crashbird in collisions[bird]:
if bird is not crashbird:
bird.crashing = True
bird.dx -= crashbird.pos[0] - bird.pos[0]
bird.dy -= crashbird.pos[1] - bird.pos[1]
http://spielend-programmieren.at