hugoruscitti/pilas

View on GitHub
data/manual/escenas/index.json

Summary

Maintainability
Test Coverage
{
    "content": "<h1 id=\"escenas\">Escenas</h1>\n<p>Las escenas te permiten dividir el juego en partes\nreconocibles y que interact\u00faan de manera diferente\ncon el usuario.</p>\n<p>Un juego t\u00edpico tendr\u00e1 al menos una escena como\nel men\u00fa principal, una presentanci\u00f3n y una\npantalla de juego.</p>\n<p><img alt=\"\" src=\"../imagenes/escenas/escenas_juego.png\" /></p>\n<h2 id=\"cosas-a-tener-en-cuenta\">Cosas a tener en cuenta</h2>\n<p>Hay algunas cosas a tener en cuenta\na la hora de manejar escenas, porque\nsimplifican mucho el trabajo posterior:</p>\n<ul>\n<li>La escena actual siempre est\u00e1 se\u00f1alada por el atributo <code>pilas.escena_actual()</code>.</li>\n<li>Solo puede existir una escena activa a la vez.</li>\n</ul>\n<h2 id=\"la-escena-normal\">La escena Normal</h2>\n<p>Cuando iniciamos pilas por primera vez se crear\u00e1\nuna escena llamada <code>Normal</code>. Esta escena no\ntiene un comportamiento muy elaborado, simplemente\nimprime toda la pantalla de azul para que\npodamos colocar actores sobre ella y veamos una\nescena limpia.</p>\n<h2 id=\"cambiando-el-fondo-de-las-escenas\">Cambiando el fondo de las escenas</h2>\n<p>Para hacer una peque\u00f1a prueba sobre una\nescena, podr\u00edas ejecutar la siguiente sentencia\nde c\u00f3digo:</p>\n<pre><code>pilas.fondos.Volley()\n</code></pre>\n<p>Esto le dar\u00e1 a tu escena una vista\nmas agradable, porque carga un fondo de\npantalla colorido y mas divertido:</p>\n<p><img alt=\"\" src=\"../imagenes/escenas/paisaje.jpg\" /></p>\n<p>o podr\u00edas usar un fondo de atardecer:</p>\n<pre><code>pilas.fondos.Tarde()\n</code></pre>\n<p><img alt=\"\" src=\"../imagenes/escenas/tarde.jpg\" /></p>\n<h2 id=\"como-crear-nuevas-escenas\">C\u00f3mo crear nuevas escenas</h2>\n<p>Imagina que tienes un juego con dos pantallas, una\nque simplemente dice \"bienvenido\" y  otra con\nun personaje para mover.</p>\n<p>Claramente tendr\u00edamos que hacer dos escenas, e iniciar\nnuestro juego creando la escena principal.</p>\n<p>La primer escena tendr\u00edamos que representarla\ncon una clase, que herede de la escena Normal\nas\u00ed:</p>\n<pre><code class=\"python\">class PantallaBienvenida(pilasengine.escenas.Escena):\n\n    def iniciar(self):\n        self.fondo = self.pilas.fondos.Volley()\n        pass\n\n    def ejecutar(self):\n        pass\n</code></pre>\n\n<p>Ahora, para poner en funcionamiento esta escena\nsimplemente tienes que decirle a pilas que esta escena es la activa:</p>\n<pre><code>pilas.escenas.vincular(PantallaBienvenida)\npilas.escenas.PantallaBienvenida()\n</code></pre>\n<p>Esto eliminar\u00e1 las escenas almacenadas y se colocar\u00e1 como la escena\nactual y activa:</p>\n<p><img alt=\"\" src=\"../imagenes/escenas/escena_simple.jpg\" /></p>\n<p>Ahora, si quieres salir de la escena, simplemente tendr\u00edas\nque cargar una escena nueva, por ejemplo:</p>\n<pre><code>pilas.escenas.Normal()\n</code></pre>\n<p>Es decir, en el momento que creamos la escena aparecer\u00e1 autom\u00e1ticamente.</p>\n<h2 id=\"escenas-con-argumentos\">Escenas con argumentos</h2>\n<p>Si quieres crear una escena pas\u00e1ndole un argumento de esta forma:</p>\n<pre><code>pilas.escenas.vincular(PantallaBienvenida)\npilas.escenas.PantallaBienvenida(\"Mi mensaje personalizado\")\n</code></pre>\n<p>Lo que necesitas hacer es especificar ese nuevo argumento en el m\u00e9todo\n<code>iniciar</code> as\u00ed:</p>\n<pre><code class=\"python\">class PantallaBienvenida(pilasengine.escenas.Escena):\n\n    def iniciar(self, mensaje):\n        pilas.fondos.Pasto()\n        self.texto = pilas.actores.Texto(mensaje)\n\n    def actualizar(self):\n        self.texto.rotacion += 1\n</code></pre>\n\n<p>pilas, en este caso, va a tomar el argumento <code>\"Mi mensaje personalizado\"</code> y lo\nva a enviar al m\u00e9todo <code>iniciar</code> con el nombre <code>mensaje</code>.</p>\n", 
    "url": "/escenas/", 
    "language": "en", 
    "title": "Escenas"
}