Problemas con actores en archivos separados

Tengo el siguiente problema al tratar de definir los actores en un archivo aparte.

E un archivo robotityo.py

import pilasengine

    class Robotito(pilasengine.actores.Actor):

        brazos = 2
        piernas = 2
        orejas = 2
        ojos = 2
        
        def iniciar(self):
            self.imagen = "robot.ico"
        
        def actualizar(self):
            if pilas.control.izquierda:
                self.x -= 10

            if pilas.control.derecha:
                self.x += 10
            
            if pilas.control.arriba:
                self.y += 10

            if pilas.control.abajo:
                self.y -= 10

En un archivo robot.py

    # coding: utf-8
    import pilasengine
    from robotito import *

    pilas = pilasengine.iniciar(ancho=800,alto=800)

    pilas.actores.vincular(Robotito)
    mi_robot = pilas.actores.Robotito()

    pilas.ejecutar()

Cuando quiero ejecutar me sale un error global name pilas is not defined, pero si saco la linea mi_robot = pilas.actores.Robotito() me ejecuta sin error (sin hacer nada).

Como es la lógica de trabajar con actores de esta forma ?
Gracias !!
Saludos
Pepo

Buenas @Pepo !

Has probado…

pilas.actores.vincular(robotito.Robotito) #—>(script.py. class a importar)

y

mi_robot = pilasengine.actores.Robotito()

Si eso no te funciona dimelo y buscamos otra solución.

Saludos

1 Like

Sumando a lo que indica @jordinur, también ten en cuenta que desde la clase Robotito para acceder a pilas tendrías que usar la forma self.pilas, algo así:

class Robotito(pilasengine.actores.Actor):
    brazos = 2
    piernas = 2
    orejas = 2
    ojos = 2
        
    def iniciar(self):
        self.imagen = "robot.png"
        
    def actualizar(self):
        if self.pilas.control.izquierda:
            self.x -= 10

       if self.pilas.control.derecha:
            self.x += 10
            
        if self.pilas.control.arriba:
            self.y += 10

        if self.pilas.control.abajo:
            self.y -= 10

ah, y seguramente necesites convertir esa imagen .ico a .png para que pilas la interprete correctamente.

1 Like

Gracias Hugo era esto del self !!

Gracias Jordi por el dato, así lo estaba probando pero me faltaba el self en el archivo secudario.