hugoruscitti/pilas

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

Summary

Maintainability
Test Coverage
{
    "content": "<h1 id=\"como-crear-menues-para-tu-juegos\">Como crear men\u00faes para tu juegos</h1>\n<p>Para crear men\u00faes en tus juegos puedes usar\nel actor <code>Menu</code>.</p>\n<p>El actor <code>Menu</code> tiene la funcionalidad de\nrepresentar opciones y que le puedas asociar\nnombres de funciones para invocar.</p>\n<p>Un men\u00fa sencillo podr\u00eda tener dos opciones, una\npara iniciar el juego y otra para salir:</p>\n<pre><code class=\"python\">import pilasengine\n\npilas = pilasengine.iniciar()\npilas.fondos.Selva()\n\ndef iniciar_juego():\n    print &quot;Tengo que iniciar el juego&quot;\n\ndef salir_del_juego():\n    print &quot;Tengo que salir...&quot;\n\npilas.actores.Menu(\n        [\n            ('iniciar juego', iniciar_juego),\n            ('salir', salir_del_juego),\n        ])\n\npilas.ejecutar()\n</code></pre>\n\n<p>Si escribes este texto en un programa, funciona, aunque no\nes muy \u00fatil: solamente crear\u00e1 una ventana con dos\nopciones, que se pueden seleccionar usando el\nteclado.</p>\n<p>Esta es una imagen de c\u00f3mo se v\u00e9 el men\u00fa del\nejemplo de mas arriba:</p>\n<p><img alt=\"\" src=\"../imagenes/menu/menu.jpg\" /></p>\n<p>Cada vez que selecciones una opci\u00f3n aparecer\u00e1 un\nmensaje en la consola de python.</p>\n<h2 id=\"creando-funciones-de-respuesta\">Creando funciones de respuesta</h2>\n<p>Si observas con atenci\u00f3n el primer ejemplo de c\u00f3digo, hay\ndos partes que son muy importantes.</p>\n<p>Primero declaramos funciones que hacen algo, como por\nejemplo:</p>\n<pre><code class=\"python\">def iniciar_juego():\n    print &quot;Tengo que iniciar el juego&quot;\n</code></pre>\n\n<p>Y luego, cuando creamos el men\u00fa, armamos una lista\nde tuplas, donde el primer elemento es la cadena\nde texto que queremos mostrar, y el segundo elemento\nes la funci\u00f3n a invocar:</p>\n<pre><code class=\"python\">pilas.actores.Menu(\n        [\n            ('iniciar juego', iniciar_juego),\n            ('salir', salir_del_juego),\n        ])\n</code></pre>\n\n<p>Es importante que el argumento se construya usando\nuna lista como la anterior.</p>\n<p>Puedes crear tantas\nopciones como quieras, pero siempre tienen que estar\nen una tupla de dos elementos, el primer con un texto\ny el segundo con el nombre de la funci\u00f3n que se tiene\nque invocar.</p>\n<p>Cuando colocamos un nombre de funci\u00f3n de esa forma, es\ndecir, sin los par\u00e9ntesis, decimos que esa funci\u00f3n\nser\u00e1 una funci\u00f3n de repuesta para el men\u00fa. Y aunque\nparezca un recurso muy simple, funciona bastante bien\nen casi todos los casos. Por ejemplo, nuestro c\u00f3digo\nanterior se podr\u00eda poner mas interesante si mejoramos\nla funci\u00f3n <code>iniciar_juego</code> y la funci\u00f3n <code>salir_del_juego</code>:</p>\n<pre><code class=\"python\">def iniciar_juego():\n    pilas.ejemplos.Piezas()\n\ndef salir_del_juego():\n    pilas.terminar()\n</code></pre>\n\n<h2 id=\"los-menues-son-actores\">Los men\u00faes son actores</h2>\n<p>Ten en cuenta que el men\u00fa tambi\u00e9n es un actor, as\u00ed\nque podr\u00e1s posicionarlo en la ventana, o cambiar\nsu tama\u00f1o como si se tratara de cualquier otro\npersonaje del juego:</p>\n<pre><code class=\"python\">mi_menu.escala = 2\nmi_menu.x = [300, 0]\n</code></pre>\n\n<p>Muchos juegos hace uso de esta caracter\u00edstica, por\nejemplo, para que el men\u00fa aparezca por debajo de la pantalla\no que se mueva constantemente como si estuviera flotando.</p>\n<p>Ten en cuenta que en realidad no estamos aplicando transformaciones\na todo el men\u00fa, simplemente estamos transmitiendo las transformaciones\na cada uno de los textos que componen el men\u00fa. Si haces un\ncambio de rotaci\u00f3n vas a ver a qu\u00e9 me refiero...</p>\n", 
    "url": "/menu/", 
    "language": "en", 
    "title": "Como crear men\u00faes para tu juegos"
}