Consulta Error al eliminar un actor vida

Chicos a ver quien me puede ayudar. Hice un contador de vidas pero cuando elimino la vida no me elimina la imagen que corresponde a esa vida, pareciera que tampoco me responde una de las variables, este es el módulo donde tengo implementado el contador:

    # -*- coding: utf-8 -*-
import pilas

class ContadorDeVidas:
 	def __init__(self, cantidad_de_vidas):
 		self.crear_texto()
 		self.cantidad_de_vidas = cantidad_de_vidas
 		self.vidas = [pilas.actores.Actor("imagenes/vida.png") for x in range(cantidad_de_vidas)]
 		for indice, vida in enumerate(self.vidas):
 			vida.x = -280 + indice * 33
 			vida.arriba = 295

	def crear_texto(self):
 		"Genera el texto que dice 'vidas'"
 		self.texto = pilas.actores.Texto("Vidas:")
 		self.texto.color = pilas.colores.blanco
 		self.texto.magnitud = 20
 		self.texto.izquierda = -380
 		self.texto.arriba = 300
 
	def le_quedan_vidas(self):
 		return self.cantidad_de_vidas > 0
 
	def quitar_una_vida(self):
 		self.cantidad_de_vidas -= 1	
 		vida = self.vidas.pop()
 		vida.eliminar()

Y acá lo llamo:

def ver_habitad_correcto (self,caja,animal):
	"Comprueba si el animal corresponde a la caja a la que se arrastra"
	import contador_de_vidas
	if caja.habitad==self.habitad_actual:
		self.puntaje.aumentar(10)
		caja.decir("Bien!!! +10pts")
		self.animal.eliminar()
		self.actualizar_animal()
		sonido_bien.reproducir()
		
	else:
		self.puntaje.aumentar(-3)
		caja.decir("Oh no, te equivocaste -3pts")
		self.animal.eliminar()
		self.actualizar_animal()
		self.contador_de_vidas.quitar_una_vida()
		sonido_mal.reproducir()
		if not (self.contador_de_vidas.le_quedan_vidas()):
			self.fin_del_juego()

El tema es que no me hace el descuento de las vidas en la pantalla, pero tampoco me da error en ninguna parte, solo me arroja un error cuando pierdo las 3 vidas y me vuelvo a equivocar porque no puede hacer el pop de la lista indexada.

http://es.zimagez.com/zimage/erroreliminarvida.php

@Ovos

Al realizar una prueba con la clase ContadorDeVidas funciona perfecto, verifica que no estés creando dos veces el contador de vidas dentro de tu escena principal y que debido a esto se estén solapando las imágenes.

Para estar seguros, compartenos el código de tu escenas principal.

Pd: Para quitar puntos al actor Puntaje: puntaje.reducir(3)

Saludos.

1 Like