pygame, fehler nach levelladen
Verfasst: Sonntag 31. März 2013, 20:45
Hallo,
ich mach gerade mit einem Freund ein pygame projekt für unser abi. Es is im Mario style und funktioniert auch ganz gut, nur hab ich ein problem:
In unserem spiel giebt es links, die verschiedene figuren /blöcke verbinden, doch wenn ich ein level speicher und wieder lade funktionieren diese nicht mehr und das obwohl alle bedingungen zu stimmen scheinen.
wenn ich mir nun in der schleife self.effect printen lasse, gibt es "destroy" aus, trotzdem wird die destroy schleife nicht ausgeführt...
den Wert hat die Klasse davor durch einen import aus der leveldatei erhalten, die sie als text speichert. könnte es daran liegen, dass der wert irgendwie nicht als string anerkannt wird?
ich hab keine ahnung, wie ich hier weiterkommen soll und würde mich sehr über tipps freuen
danke im Vorraus
Max
ich mach gerade mit einem Freund ein pygame projekt für unser abi. Es is im Mario style und funktioniert auch ganz gut, nur hab ich ein problem:
In unserem spiel giebt es links, die verschiedene figuren /blöcke verbinden, doch wenn ich ein level speicher und wieder lade funktionieren diese nicht mehr und das obwohl alle bedingungen zu stimmen scheinen.
Code: Alles auswählen
def effekt(self):
if self.done == 0:
print self.effect
if self.effect == "destroy":
for sprite in ALLSPRITES:
if sprite.number == self.number2:
sprite.kill()
done = 1
break
elif self.effect == "create":
for sprite in ALLSPRITES:
if sprite.number == self.number2:
sprite.spawned = 1
sprite.alive = 1
for enemy in DEADENEMIES:
if enemy.number ==self.number2:
enemy.add(ENEMIES)
enemy.remove(DEADENEMIES)
if DEADOBJECTS.has(sprite):
sprite.add(OBJECTS)
sprite.remove(DEADOBJECTS)
self.done = 1
break
else:
print "fehler"
den Wert hat die Klasse davor durch einen import aus der leveldatei erhalten, die sie als text speichert. könnte es daran liegen, dass der wert irgendwie nicht als string anerkannt wird?
ich hab keine ahnung, wie ich hier weiterkommen soll und würde mich sehr über tipps freuen

danke im Vorraus
Max