hugoruscitti/pilas

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

Summary

Maintainability
Test Coverage
{
    "content": "<h1 id=\"empezando-los-primeros-pasos-con-pilas\">Empezando, los primeros pasos con pilas</h1>\n<p>Si ya tienes instalada la biblioteca podemos comenzar a realizar nuestros primeros pasos con la biblioteca.</p>\n<p>pilas incluye un int\u00e9rprete interactivo que te permite escribir c\u00f3digo de python y autocompletar el nombre de las funciones. Aunque si quieres, puedes usar el int\u00e9rprete est\u00e1ndar de python, abriendo un terminal de texto y ejecutando el comando python.</p>\n<h2 id=\"iniciando-pilas\">Iniciando pilas</h2>\n<p>Para ejecutar el asistente de pilas, abre un terminal y ejecuta el comando <code>pilasengine</code>.</p>\n<p>En tu pantalla tiene que aparecer una ventana como esta.</p>\n<p><img alt=\"\" src=\"../imagenes/empezando/asistente.png\" /></p>\n<h2 id=\"interprete-de-pilas\">Int\u00e9rprete de pilas</h2>\n<p>Haz click en Abrir int\u00e9rprete y aparecer\u00e1 esta ventana.</p>\n<p><img alt=\"\" src=\"../imagenes/empezando/interprete.png\" /></p>\n<p>La ventana se divide en dos partes. La parte de abajo muestra el editor. Todo lo que escribas en el editor se ejecutar\u00e1 autom\u00e1ticamente. El resultado se muestra en la parte de arriba.</p>\n<h2 id=\"iniciando-la-biblioteca\">Iniciando la biblioteca</h2>\n<p>La parte de arriba es la que utilizaremos para interactuar con el motor. Y mas adelante ser\u00e1 la \u00fanica pantalla que ver\u00e1n los usuarios de nuestros juegos.</p>\n<p>Puedes ver que el int\u00e9rprete viene con algunas l\u00edneas de ejemplo.</p>\n<pre><code>import pilasengine\n\npilas = pilasengine.iniciar()\nmono = pilas.actores.Mono()\n</code></pre>\n\n<p>La l\u00ednea <code>import pilasengine</code> le dice a Python que use la librer\u00eda pilas. La\nfunci\u00f3n <code>pilas = pilasengine.iniciar()</code> prepara la ventana (entre otras cosas) para empezar\na usar pilas. Luego la l\u00ednea <code>mono = pilas.actores.Mono()</code>, construye al personaje\ncon cara de mono que aparecer\u00e1 en la pantalla y tambi\u00e9n le dar\u00e1 un nombre.</p>\n<p>La funci\u00f3n <code>pilasengine.iniciar()</code> tiene mas par\u00e1metros, pero los veremos mas\nadelante. Por ahora, continuaremos con lo b\u00e1sico.</p>\n<h2 id=\"creando-personajes\">Creando personajes</h2>\n<p>Un concepto importante en pilas es del de <code>actores</code>. Un actor en pilas es un\nobjeto que aparece en pantalla, tiene una posici\u00f3n determinada y se puede manipular.</p>\n<p>Por ejemplo, una nave, un enemigo, una medalla... etc.</p>\n<p>Para agilizar el desarrollo de juegos se incluyen varios actores dentro del\nmotor, uno de ellos es <code>Mono</code>, un simp\u00e1tico chimpanc\u00e9.</p>\n<p>Nota:</p>\n<blockquote>\n<p>Puedes ver todos los actores disponibles en pilas ejecutando\n<code>pilas.actores.listar_actores()</code>.</p>\n</blockquote>\n<p>Tenemos al actor <code>mono</code>. Para indicarle acciones solo tenemos que utilizar su nombre y sentencias simples.</p>\n<p>Por ejemplo, para que el personaje cambie su expresi\u00f3n, podemos usar sentencias c\u00f3mo:</p>\n<pre><code>mono.sonreir()\n</code></pre>\n\n<p>o:</p>\n<pre><code>mono.gritar()\n</code></pre>\n\n<p>En cualquiera de los dos casos, el personaje cambiar\u00e1 su aspecto y emitir\u00e1 un sonido.</p>\n<p><img alt=\"\" src=\"../imagenes/empezando/smile.png\" /></p>\n<p>Incluso podr\u00edamos decirle al personaje que tiene que hablar algo, por ejemplo:</p>\n<pre><code>mono.decir(&quot;Hey, bienvenido a pilas!!!&quot;)\n</code></pre>\n\n<p>y el personaje mostrar\u00e1 exactamente lo que le indicamos que tiene que decir,\nc\u00f3mo si fuera un personaje de comic:</p>\n<p><img alt=\"\" src=\"../imagenes/empezando/decir.png\" /></p>\n<p>A partir de ahora, comenzaremos a escribir algunos ejemplos. Ten en cuenta que no es necesario que escribas todo el c\u00f3digo de los ejemplos, el int\u00e9rprete de pilas te permite autocompletar sentencias mientras escribes.</p>\n<h2 id=\"cosas-en-comun-para-los-actores\">Cosas en com\u00fan para los actores</h2>\n<p>Internamente, Mono es un actor, as\u00ed que encontraremos mucha funcionalidad en \u00e9l que la tendr\u00e1n el resto de los actores.</p>\n<p>Veamos algunas de estas caracter\u00edsticas:</p>\n<h2 id=\"posicion\">Posici\u00f3n</h2>\n<p>Podemos cambiar la posici\u00f3n de un actor mediante las propiedades <code>x</code> e <code>y</code>:</p>\n<pre><code>mono.x = 100\nmono.y = 100\n</code></pre>\n\n<p>Ten en cuenta que<code>x</code> e <code>y</code> son las coordenadas de posici\u00f3n en el escenario. Por lo tanto el punto (0, 0) es el centro de la ventana. Y x aumenta hacia la derecha e y hacia arriba.</p>\n<p><img alt=\"\" src=\"../imagenes/empezando/normal.png\" /></p>\n<p>Este espacio de referencia se puede observar en detalle si pulsas la tecla F12, ah\u00ed observar\u00e1s que el movimiento del mouse est\u00e1 asociado a una coordenada y cada actor tambi\u00e9n.</p>\n<p><strong>Nota</strong>:</p>\n<blockquote>\n<p>Para que tenga efecto, debes tener seleccionada la ventana de resultado (parte de arriba). Haz click sobre ella antes de pulsar F12.</p>\n</blockquote>\n<h2 id=\"escala\">Escala</h2>\n<p>Todo actor tiene un atributo para indicar su tama\u00f1o en pantalla, el atributo escala (que originalmente vale 1):</p>\n<pre><code>mono.escala = 2\n</code></pre>\n\n<h2 id=\"rotacion\">Rotaci\u00f3n</h2>\n<p>Tambi\u00e9n contamos con un atributo que indica la rotaci\u00f3n en grados que debe tener el actor en pantalla. El atributo rotacion:</p>\n<pre><code>mono.rotacion = 40\n</code></pre>\n\n<p><img alt=\"\" src=\"../imagenes/empezando/rotacion40.png\" /></p>\n<p>o bien:</p>\n<pre><code>mono.rotacion = 80\n\n</code></pre>\n\n<p><img alt=\"\" src=\"../imagenes/empezando/rotacion80.png\" /></p>\n<p>La rotaci\u00f3n siempre se indica en grados, e indica el grado de inclinaci\u00f3n hacia la izquierda.</p>\n<h2 id=\"animaciones\">Animaciones</h2>\n<p>Cualquiera de todas las propiedes que vimos anteriormente se pueden usar para hacer animaciones, por ejemplo, con el siguiente c\u00f3digo podr\u00edamos indicarle al actor que d\u00e9 una vuelta completa:</p>\n<pre><code>mono.rotacion = [360]\n</code></pre>\n\n<p>\u00bfpor qu\u00e9?, porque los caracteres [ y ] representan una lista de valores, y cuando pilas ve esta lista asignada a un atributo de un <code>actor</code>, intenta hacer una animaci\u00f3n.</p>\n<p>Veamos otro ejemplo, si queremos que un personaje como el mono se mueva horizontalmente con una animaci\u00f3n podemos escribir esto:</p>\n<pre><code>mono.x = [-200, 200]\n</code></pre>\n\n<p>Estas animaciones las veremos mas adelante, pero de todas formas es interesante observar que son listas comunes y corrientes.</p>\n<p>Python permite multiplicar listas, as\u00ed que podr\u00edamos multiplicarlas para repetir la animaci\u00f3n.</p>\n<pre><code># S\u00f3lo en python.\nmono.x = [-200, 200] * 5 # ir de un lado a otro 5 veces.\n</code></pre>\n\n<p>o incluso podr\u00edamos alterarles la velocidad, digamos que el ir y regresar se tiene que hacer muy lento, en unos 10 segundos:</p>\n<pre><code>mono.x = [-200, 200], 10\n</code></pre>\n\n<h2 id=\"pidiendo-ayuda\">Pidiendo ayuda</h2>\n<p>Recuerda que cada componente de pilas est\u00e1 documentado como un m\u00f3dulo de python. Por lo tanto, puedes ejecutar una sentencia c\u00f3mo:</p>\n<pre><code>help(mono)\n</code></pre>\n\n<p>y aparecer\u00e1n en pantalla todos los instructivos de la funcionalidad del actor.</p>\n<p>Incluso puedes usar la funci\u00f3n <code>pilas.ver</code> para conocer el c\u00f3digo fuente de\ncualquier cosa de pilas. Por ejemplo podemos el c\u00f3digo completo del mono\nejecutando la sentencia:</p>\n<pre><code>pilas.ver(mono)\n</code></pre>\n\n<h2 id=\"eliminando-a-un-actor\">Eliminando a un actor</h2>\n<p>Para eliminar un actor de la escena tienes que llamar al m\u00e9todo eliminar:</p>\n<pre><code>mono.eliminar()\n</code></pre>\n\n<h2 id=\"conclusion\">Conclusi\u00f3n</h2>\n<p>Hemos visto los pasos principales para gestionar actores. Ten en cuenta que el m\u00f3dulo pilas.actores es donde se guardar\u00e1n todos los actores.</p>\n<p>Un buen ejercicio es ponerse a investigar el m\u00f3dulo actores. Hay muchos actores, estos son algunos ejemplos de c\u00f3digo para probar:</p>\n<pre><code>b = pilas.actores.Bomba()\nb.explotar()\n\np = pilas.actores.Pingu()    # se mueve con el teclado.\n</code></pre>\n\n<p><img alt=\"\" src=\"../imagenes/empezando/resultado_parte_1.jpg\" /></p>\n<p>Es todo por ahora, segu\u00ed leyendo o comenz\u00e1 a explorar por tu cuenta. A divertirse!</p>\n", 
    "url": "/empezando/", 
    "language": "en", 
    "title": "Empezando y los primeros pasos con pilas"
}