Closed GoogleCodeExporter closed 9 years ago
Por lo que se ve, el error se produce dentro del método "step" de
ActionSprite,
cuando se quieren eliminar elementos de la lista "self.actions" que están
seleccionadas en "self.to_remove":
-- %< --
for x in self.to_remove:
self.actions.remove( x )
-- %< --
Ocurre que la lista "self.actions" puede tener menos elementos que los que
tiene "self.to_remove", en esos casos se produce el error.
Como solución se puede alterar el órden de las sentencias "ejecutar acciones"
y
"limpiar acciones a eliminar". Adjunto los cambios que lo solucionan:
Index: cocos/actions.py
===================================================================
--- cocos/actions.py (revisión: 194)
+++ cocos/actions.py (copia de trabajo)
@@ -234,14 +234,15 @@
`dt` : delta_time
The time that elapsed since that last time this functions was called.
"""
+ for x in self.to_remove:
+ self.actions.remove( x )
+
+ self.to_remove = []
+
for action in self.actions:
action._step(dt)
if action.done():
self.remove( action )
-
- for x in self.to_remove:
- self.actions.remove( x )
- self.to_remove = []
if len( self.actions ) == 0:
self.schedule = False
Original comment by hugorusc...@gmail.com
on 13 Mar 2008 at 7:09
gracias! fixed in rev 196
Original comment by ricardoq...@gmail.com
on 14 Mar 2008 at 2:10
fixed.
Original comment by ricardoq...@gmail.com
on 14 Mar 2008 at 2:31
Original issue reported on code.google.com by
hugorusc...@gmail.com
on 13 Mar 2008 at 6:52