No se como colocar el contador de puntos para que funcione

hola buenas, la presente es para solicitar su ayuda para montar el contador y la barra de vida ya e montado de muchas formas y no lo e logrado les dejo una copia completa de todos los Códigos

lo único que falta es que funcione los contadores con las colisiones, la barra de Vida del actor Principal y el enemigo y como hacer que la cámara siga al actor.

e estado mas de 6 días con el mismo problema y no consigo como hacer que haga eso

#______________________________________________________________________________________
#                            Variables
#---------------------------------------------------------------------------------------

VelocidadDeMovimiento = 6
Salto = 1
GRAVEDAD = 10
GravedadNormal = 2
Radio_De_Colicion = 10
items = 10
Radio_De_Colicion_Enemigo = 30

cantidad_puntos = 0

#______________________________________________________________________________________
#                            Portada
#			Escenas Numero 1 (uno)
#---------------------------------------------------------------------------------------
class Portada (pilasengine.escenas.Escena):
    
    def iniciar(self):
    
    #--------------- Fondo --------------------------------
        self.Fondo=pilas.fondos.Fondo()
        self.Fondo.imagen=pilas.imagenes.cargar('videojuego pioneritos/Fondos/Escenario de prueba.png')        
        self.Fondo.escala = 0.319
        
    #----------------logo Imagen-----------------------------------
        self.pioneritos=pilas.actores.Actor(imagen="videojuego pioneritos/Logo de Introduccion/Logo principal.png")
        self.pioneritos.escala =[0.3,0.35]*20,1.5
        self.pioneritos.y = 70
        
    #----------------- Boton Siguiente----------------------------------------
        self.Sig=pilas.interfaz.Boton("Siguiente")
        self.Sig.conectar(self.Siguiente)
        self.Sig.y =-280
        self.Sig.x = -50
        self.Sig.escala= 3.5
    #------------------- Boton Salir ------------------------------------------
        self.salir=pilas.interfaz.Boton("X")
        self.salir.conectar(self.Salir)
        self.salir.x =700
        self.salir.y =458
        self.salir.escala=1.7     
        pass
        
    #def Siguiente(self): #no Construido
        #pilas.escenas.Escena2()# no construido 

    def Siguiente (self):
        pilas.escenas.Juego_Nivel_1()

    def Salir(self):
        pilas.terminar()
        pass
        
#______________________________________________________________________________________
#                        Municion
#---------------------------------------------------------------------------------------

#------------------------- Municion de Simon--------------------------------------------

class Municion_Simon(pilasengine.actores.Actor):

    def iniciar(self):
        self.imagen = "/home/usuario/videojuego pioneritos/Actor/Item/manzana.png"
        self.radio_de_colision = 5
        self.escala = 0.1
        
                   
    def actualizar(self):
                
        self.rotacion += 10
        self.escala = 0.2
               
pilas.actores.vincular(Municion_Simon)
       
#---------------------------Municion de Enemigo Principal--------------------------------
        
class Municion_Enemigo(pilasengine.actores.Actor):

    def iniciar(self):
        self.imagen = "/home/usuario/videojuego pioneritos/Actor/Item/Fuego.png"
        self.centro_x = 100
        self.aprender("puedeexplotar")
        self.radio_de_colision = 10

    
    def actualizar(self):
        # actualizar se ejecuta 60 veces por segundo, así
        # que las siguientes lineas harán que aumente el tamaño
        # del diparo y siempre estén girando.
        self.escala_y += 0.2
        self.rotacion= 0
        self.escala = 0.8
        if self.x > -7: 
            self.x = -7
            self.eliminar()

#_______________________________________________________________            
       
class Vida (pilasengine.actores.energia.Energia):
    
    def __init__(self):
        pilas.eventos.cuando_golpean.conectar(self.actualizar_energia)
        
    def actualizar(self):
        pass
        
    def actualizar_energia(self,evento):
        self.progreso =evento.quien.energia
 
#______________________________________________________________________________________
#                            Actor Simon
#---------------------------------------------------------------------------------------

class Simon (pilasengine.actores.Actor):

    def iniciar(self):
        self.imagen = pilas.imagenes.cargar_animacion("/home/usuario/videojuego pioneritos/Actor/Simon/Caminando.png", 13)
        self.y = -395 # locacizacion del personaje 
        self.x = -730 # localizacion del persoanje
        #self.y = 360 # locacizacion del personaje prueba
        #self.x = -234 # localizacion del persoanje prueba
        self.escala = 0.1
        self.radio_de_colision = Radio_De_Colicion
        self.centro_y = 225

        #_____________________________________________________________________________        
        #------------- animacion de personaje ---------------------------------------------
        
        self.imagen.definir_animacion('parado', [6], 10)
        self.imagen.definir_animacion('caminar', [6,1,2,3,4,5,6,7,8,9,10,11,12], 17)
        self.imagen.definir_animacion('saltar', [1,6,12], 15)

        self.hacer_inmediatamente('ComportamientoNormal')
               
        #-------------------- Fisica-----------------------------------------
        self.figura = pilas.fisica.Circulo(self.x, self.y, 5,
            friccion=0, restitucion=0)
        #---------------------------------------------------------------------    
        self.sensor_pies = pilas.fisica.Rectangulo(self.x, self.y, 0.2, 0.05, sensor=True, dinamica=False)

        #-----------------------------------------------------------------------------------------------   
        self.figura.escala_de_gravedad = 2
        #---------------------------------------------------------------------
	self.aprender('disparar', municion='Municion_Simon', angulo_salida_disparo= 0)
	self.pilas.avisar("Pulsa la tecla espacio para disparar.")
  
    def actualizar(self):
        
        #---------------------------- Fisica complemento----------------------------   
        velocidad = 4
        self.x = self.figura.x
        self.y = self.figura.y
        
        #------------------------------ Vinculacion con la Fisica (Figura)-----------------------
        self.sensor_pies.x = self.x # sensor de pies
        self.sensor_pies.y = self.y - 15 #sensor de pies
     
        #----------------------------- Complementos de l fisica ---------------------------------    
        if self.esta_pisando_el_suelo():
            if self.pilas.control.arriba and int(self.figura.velocidad_y) <= 0:
                self.figura.impulsar(0, Salto)
               
        #------------------------------------------------------------------------------
        
        if pilas.control.izquierda:
            self.figura.velocidad_x = -velocidad
            self.x -= VelocidadDeMovimiento
            self.espejado = True

        elif pilas.control.derecha:
            self.figura.velocidad_x = velocidad
            self.x += VelocidadDeMovimiento
            self.espejado = False
            
        else:
            self.figura.velocidad_x = 0 # Friccion del personaje 
    #_____________________________________________________________________________        
    #------------- Limite espaciales ---------------------------------------------
        if self.x > 760:
            self.x = 760

        if self.x < -760:
            self.x = -760    
    #_______________________________________________________________________________
        self.imagen.avanzar()
        
    def esta_pisando_el_suelo(self):
        return len(self.sensor_pies.figuras_en_contacto) > 0   
#______________________________________________________________________________________
#                    Comportamientos
#---------------------------------------------------------------------------------------

class ComportamientoNormal(pilasengine.comportamientos.Comportamiento):

    def iniciar(self, receptor):
        self.receptor = receptor
        self.receptor.imagen.cargar_animacion('parado')

    def actualizar(self):
        if pilas.control.derecha or pilas.control.izquierda:
            self.receptor.hacer_inmediatamente('ComportamientoCaminar')

        if pilas.control.arriba:
            self.receptor.hacer_inmediatamente('ComportamientoSaltar')
#---------------------------------------------------------------------------------------
class ComportamientoCaminar(pilasengine.comportamientos.Comportamiento):

    def iniciar(self, receptor):
        self.receptor = receptor
        self.receptor.imagen.cargar_animacion('caminar')

    def actualizar(self):
        if not pilas.control.derecha and not pilas.control.izquierda:
            self.receptor.hacer_inmediatamente('ComportamientoNormal')

        if pilas.control.arriba:
            self.receptor.hacer_inmediatamente('ComportamientoSaltar')
#---------------------------------------------------------------------------------------
class ComportamientoSaltar(pilasengine.comportamientos.Comportamiento):

    def iniciar(self, receptor):
        self.receptor = receptor
        self.receptor.imagen.cargar_animacion('saltar')
        self.velocidad = 12
        self.coordenada_y_inicial = self.receptor.y

    def actualizar(self):
        self.receptor.y += self.velocidad
        self.velocidad -= 0.5

        if self.receptor.y < self.coordenada_y_inicial:
            self.receptor.hacer_inmediatamente('ComportamientoNormal')
            self.receptor.y = self.coordenada_y_inicial
            pass
#---------------- Vinculacio de Comportamientos---------------------------------------

            
pilas.comportamientos.vincular(ComportamientoNormal)
pilas.comportamientos.vincular(ComportamientoCaminar)
pilas.comportamientos.vincular(ComportamientoSaltar)
pilas.actores.vincular(Simon)
       
#______________________________________________________________________________________
#                            Actor Enemigo Principal
#---------------------------------------------------------------------------------------
class Enemigo (pilasengine.actores.Actor):

    def iniciar(self):
        self.imagen = pilas.imagenes.cargar_animacion("/home/usuario/videojuego pioneritos/Actor/Enemigo/Enemigo.png", 5,2)
        self.y = 360 # locacizacion del personaje 
        self.x = -675 # localizacion del persoanje
        self.x = [-675,-600]*1000,5
        self.escala = 0.5
        self.centro_y = 100
        self.radio_de_colision = Radio_De_Colicion_Enemigo
        
    #_____________________________________________________________________________        
    #------------- animacion de personaje ---------------------------------------------
        
        self.imagen.definir_animacion('parado', [1], 10)
        self.imagen.definir_animacion('caminar', [1,2,3,4,5,6,7,8,9],10)

        self.imagen.cargar_animacion('caminar')
        self.aprender("disparar",control=None, municion= 'Municion_Enemigo', angulo_salida_disparo =0)
        self.tarea_disparar = pilas.tareas.siempre(1.5,self.realizar_disparo) # Disparo automatico
        

    def actualizar(self):
        
        #Limite Espacial
        if self.x > -5: 
            self.x = -5

        if self.x < -760:
            self.x = -760     
    
        self.imagen.avanzar()
        
    def realizar_disparo (self): #complemento de disparo automatico
        self.disparar()
        
    def recibir_golge(self):
        self.Vida -=10
        
        if self.energia < 0:
            self.eliminar()
            self.tarea_disparar.terminar
            
        pilas.eventos.cuando_golpean.emitir(quien=self)

        
#-------------------- Vinculacion --------------------------------------------------     
pilas.actores.vincular(Enemigo)
pilas.actores.vincular(Municion_Enemigo)

#______________________________________________________________________________________
#                            Itens
#---------------------------------------------------------------------------------------
class Morralito(pilasengine.actores.Actor):

    def iniciar(self):
        self.imagen = "/home/usuario/videojuego pioneritos/Actor/Item/Bolso pototipo 1.png"
        self.escala = 0.07
        self.radio_de_colision = items
        
        
    def actualizar(self):
        pass
        
pilas.actores.vincular(Morralito)

morralito=Morralito(pilas)

def colision_Morralito(simon,morralito): #coliciones del juego
    morralito.eliminar()
#______________________________________________________________________________________
#                           Escenas del Juego
#---------------------------------------------------------------------------------------
#				 Nivel 1
class Juego_Nivel_1 (pilasengine.escenas.Escena):
    
    def iniciar (self):

	global cantidad_puntos
   	#--------------- Fondo -----------------------------------------------------------------------
        self.Fondo=pilas.fondos.Fondo()
        self.Fondo.imagen=pilas.imagenes.cargar('videojuego pioneritos/Fondos/Escenario de prueba.png')        
        self.Fondo.escala = 0.319
	#------------------ Mapa ----------------------------------------------------------------------
        self.mapa = pilas.actores.MapaTiled('plataformas para el juego.tmx', densidad=0,
                restitucion=0, friccion=0, amortiguacion=0)

   	#------------------ importando los Actores principales-----------------------------------------
        self.simon = Simon(pilas) 
        
        self.enemigo = Enemigo(pilas)
        
        self.morralito=Morralito(pilas)
        self.morralito= self.morralito*10
        self.morralito.y = -465
	self.pilas.colisiones.agregar("simon","morralito",colision_Morralito)
        

        #self.pilas.eventos.actualizar.conectar(mover_camara)
        
        #self.pilas.eventos.actualizar.conectar(itens)
    
    def actualizar (self):
        pass       
#---------------------------------------------------------------------------------------
#				 Nivel 2
#---------------------------------------------------------------------------------------
class Juego_Nivel_2 (pilasengine.escenas.Escena):
    def iniciar (self):
        pass
    def actualizar(self):
        pass       
     
pilas.escenas.vincular(Portada)
pilas.escenas.vincular(Juego_Nivel_1)
pilas.escenas.vincular(Juego_Nivel_2)

 
pilas.escenas.Juego_Nivel_1()

Buenas, @Daniel29az !

Quizás te interesara revisar este juego que hice y que usa una barra de energia para definir la vida de los actores.

Yo implementé la barra de energia DENTRO de la def iniciar() del actor, así aunque crees muchos actores cada uno llevará su propia barra de energia, y no hace falta crear una class para esa barra.

Espero que eso te ayude!

Un saludo :wink:

Revisa tambien este post…

gracias por la información ya la voy a revisar si es que estado ful creado el vídeo juego y es feo conseguirse una traba tan grande y que los ejemplos que tiene el programa son demasiado básicos e incluso incompletos algunos

ya solucione el problema del contador ahora voy por la de barra de Energía

gracias por la colaboración estoy mas alegre ojala que termine este proyecto pronto

1 Like