Ayuda con Pilas

Si tienes alguna duda sobre cómo usar pilas, o tienes problemas para instalar o hacer algo en pilas comentalo aquí.

Ayuda con Pilas

Notapor carlachacon » Mié Feb 23, 2011 1:50 pm

Hola buenos dias...

soy carla chacon y soy de venezuela....
he estado leyendo sobre pilas y decidi usarla para el desarrollo de mi tesis...

soy nueva usandola, les agradezco su ayuda...

tengo la siguiente duda:
cuando hago el menú y quiero que uuna opcion del menu abra un juego que esta definido en un modulo en el mismo proyecto, como lo hago??
ejemplo:
principal: Menu.
....... el menu tiene una opcion llamada juego 1

modulo juego1: tengo la funcion que desarrolla el juego 1
....... como hago para que me salga en una pantalla limpia con lo que quiero que salga del juego??


les agradezco de antemano su ayuda...

saludos!
carlachacon
 
Mensajes: 68
Registrado: Mié Feb 16, 2011 7:04 pm
Ubicación: Venezuela

Re: Ayuda con Pilas

Notapor hugoruscitti » Mié Feb 23, 2011 3:49 pm

Buenas Carla, te comento una forma de hacer que el menu
te permite iniciar el juego.

La forma mas cómoda de tratar con el juego y el menú es
crear escenas, una escena es una parte del juego independiente.

Por ejemplo, el menú puede ser una escena, y el juego otra escena. Luego
hay que usar una función llamada "definir_escena" para decirle a pilas
qué escena tiene que mostrar.

Entonces, primero le tienes que indicar a pilas que muestre la escena
"EscenaMenu", y cuando el usuario selecciona una opción, nuevamente
le tienes que indicar a pilas que muestre otra escena, por ejemplo "EscenaJuego".

Este es ejemplo que muestra un menú, la primer opción te
permite iniciar el juego. Una vez dentro del juego, pulsando la tecla "q" puedes
regresar nuevamente al menú:

Imagen

Este es el código:

Código: Seleccionar todo
import pilas
from pilas.escenas import Normal

pilas.iniciar()


class EscenaDeMenu(Normal):

    def __init__(self):
        Normal.__init__(self)

        opciones = [
                    ('Comenzar a jugar', self.comenzar),
                    ('Salir', self.salir)]

        self.menu = pilas.actores.Menu(opciones)

    def comenzar(self):
        pilas.mundo.definir_escena(EscenaDeJuego())

    def salir(self):
        import sys
        sys.exit(0)


class EscenaDeJuego(Normal):

    def __init__(self):
        Normal.__init__(self)
        pingu = pilas.actores.Pingu()
        pilas.avisar("Pulsa la tecla 'q' para regresar al menu...")

        pilas.eventos.pulsa_tecla.conectar(self.cuando_pulsa_tecla)

    def cuando_pulsa_tecla(self, evento):
        if evento.codigo == u'q':
            pilas.mundo.definir_escena(EscenaDeMenu())

pilas.mundo.definir_escena(EscenaDeMenu())
pilas.ejecutar()



Saludos.
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: Ayuda con Pilas

Notapor carlachacon » Mié Feb 23, 2011 6:37 pm

muuuuchas gracias....

otra pregunta...
con respecto a la carga de imágenes.
lo que pasa es que estoy cargando una imagen que esta dentro de la carpeta de mi proyecto en una una carpeta llamada "imagenes" y tanto la ruta absoluta como la relativa me dice que no consigue el archivo...

hay algun problema con ello? o ustedes tienen alguna forma mejor de hacerlo?
carlachacon
 
Mensajes: 68
Registrado: Mié Feb 16, 2011 7:04 pm
Ubicación: Venezuela

Re: Ayuda con Pilas

Notapor hugoruscitti » Jue Feb 24, 2011 12:43 am

carlachacon escribió:lo que pasa es que estoy cargando una imagen que esta dentro de la carpeta de mi proyecto en una una carpeta llamada "imagenes" y tanto la ruta absoluta como la relativa me dice que no consigue el archivo...

hay algun problema con ello? o ustedes tienen alguna forma mejor de hacerlo?


no hacemos nada en particular, la imagen se tendría que cargar bien
usando una ruta relativa. Por ejemplo, este programa lo ejecuté sin problemas:

Código: Seleccionar todo
python

>>> import pilas
>>> pilas.iniciar()
>>> a = pilas.imagenes.cargar('bocetos/pilas_2010/slides/images/fondo.png')


¿has intentado ejecutar el programa directamente un una terminal?, a veces es
un problema de entorno...

La otra opción, que no me gusta mucho, es calcular la dirección absoluta a la
imagen desde la ruta del archivo que estas escrbiendo, pero es medio feo...

Es así:

Código: Seleccionar todo
import os

def obtener_ruta_absoluta(ruta_relativa):
    ruta_a_este_archivo = os.path.abspath(__file__)
    directorio_de_este_archivo = os.path.dirname(ruta_a_este_archivo)
    ruta = os.path.join(directorio_de_este_archivo, ruta_relativa)
    return ruta


Entonces, si escribes algo como una ruta relativa:

Código: Seleccionar todo
print obtener_ruta_absoluta("imagenes/hola.png")


Lo que obtienes es:
Código: Seleccionar todo
/home/hugoruscitti/proyectos/recetas/python/imagenes/hola.png


Es decir, la funcion usa su locacion para calcular la ruta absoluta, aqui
se puede ver que el codigo de antes corria en el directorio
python,

PD: una sugerencia, es bueno abrir un tema nuevo en el foro
cuando aparece una inquietud nueva. Asi es mas accesible para
los usuarios que usan el foro para consultas.
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: Ayuda con Pilas

Notapor carlachacon » Mar Mar 01, 2011 3:40 pm

Hola!!!

escribo para preguntar mas sobre las escenas

porque tengo varias escenas, y obviamente no quiero tener toda esa programación en un sólo archivo,
será que me pueden explicar cómo puedo estructurar cada archivo de manera que sólo en el de menú sólo haga llamadas a los demás?


gracias por su ayuda.
espero su respuesta
carlachacon
 
Mensajes: 68
Registrado: Mié Feb 16, 2011 7:04 pm
Ubicación: Venezuela

Re: Ayuda con Pilas

Notapor lukasgaleano » Mar Mar 01, 2011 7:02 pm

Siguiendo esta linea de pedir ayuda, no he podido instalar bien pilas en linux mint 10 (que en fin es un ubuntu tuneado), me da un error.
http://img15.imageshack.us/i/errorpilas.png/
Estoy utilizando el tutorial que subieron para instalarlo en ubuntu 10.04.
Si me podrian ayudar le agradeceria mucho
lukasgaleano
 
Mensajes: 19
Registrado: Lun Dic 06, 2010 6:57 pm

Re: Ayuda con Pilas

Notapor hugoruscitti » Mar Mar 01, 2011 9:50 pm

Por lo que veo en el screenshot, se instaló la versión
0.38 de pilas. Tendrías que instalar la 0.39.

El comando para instalar la última versión es:

Código: Seleccionar todo
sudo easy_install -U pilas


es muy importante que tenga el parámetro "-U".

Igual voy a instalar mint y tratar de hacer un tutorial especifico para
ese sistema, espero llegar a hacerlo...
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: Ayuda con Pilas

Notapor lukasgaleano » Mié Mar 02, 2011 4:01 am

excelente hugo, estaria genial si pudieras hacerlo!!! Gracias
lukasgaleano
 
Mensajes: 19
Registrado: Lun Dic 06, 2010 6:57 pm

Re: Ayuda con Pilas

Notapor hugoruscitti » Mié Mar 02, 2011 7:09 pm

lukasgaleano escribió:excelente hugo, estaria genial si pudieras hacerlo!!! Gracias


Lucas, ahí escribí el tutorial de instalación en Mint 10:

http://www.examplelab.com.ar/pilas/inst ... _julia.rst

Avisame si tiene algún tipo de error porque lo escribí a las apuradas. (ah, posiblemente tengas que
ejecutar "apt-get update" antes de empezar).
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: Ayuda con Pilas

Notapor hugoruscitti » Mié Mar 02, 2011 7:12 pm

carlachacon escribió:Hola!!!

escribo para preguntar mas sobre las escenas

porque tengo varias escenas, y obviamente no quiero tener toda esa programación en un sólo archivo,
será que me pueden explicar cómo puedo estructurar cada archivo de manera que sólo en el de menú sólo haga llamadas a los demás?


gracias por su ayuda.
espero su respuesta


Buenas Carla, para organizar las escenas podrías usar módulos de python.

http://mundogeek.net/archivos/2008/03/2 ... -paquetes/

Estoy escribiendo un tutorial sobre cómo hacer un juego y quiero incluir algo
sobre esto, pero no sé cuando lo puedo terminar. En cuanto tenga algo
de esa parte del tutorial la publico así lo vas viendo, es fácil usando
módulos.
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina


Volver a Consultas, problemas o bugs.

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado