hugoruscitti/pilas

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

Summary

Maintainability
Test Coverage
{
    "content": "<h1 id=\"actores\">Actores</h1>\n<p>Los actores son una pieza clave de pilas, nos sirven para representar\na los personajes dentro de videojuego, con sus propios atributos, apariencia\ny comportamiento.</p>\n<p>Puedes utilizar los actores predise\u00f1ados de pilas, o crear tus propios\nactores. Existe una p\u00e1gina separada del manual que explica <a href=\"..//actores_personalizados/index.html\">como crear tus\npropios actores</a>, en lugar de utilizar los incluidos en pilas.</p>\n<h2 id=\"galeria-de-actores-incluidos\">Galer\u00eda de actores inclu\u00eddos</h2>\n<p>Hay varios actores pre-dise\u00f1ados incluidos en pilas, pod\u00e9s usarlos\nsiguiendo los ejemplos de esta p\u00e1gina o adaptarlos para crear los\ntuyos propios:</p>\n<ul>\n<li><a href=\"#actor\">Actor</a></li>\n<li><a href=\"#aceituna\">Aceituna</a></li>\n<li><a href=\"#animacion\">Animacion</a></li>\n<li><a href=\"#animado\">Animado</a></li>\n<li><a href=\"#bala\">Bala</a></li>\n<li><a href=\"#banana\">Banana</a></li>\n</ul>\n<h3 id=\"actor\">Actor</h3>\n<p>Representa un objeto visible en pantalla, algo que se ve y tiene\nla estructura inicial de actor</p>\n<p><img alt=\"\" src=\"../imagenes/actores/actor.png\" /></p>\n<p>Un objeto Actor se tiene que crear siempre indicando una imagen. Si no\nse especifica una imagen, se ver\u00e1n los signos de interrogaci\u00f3n de\ncolor rojo.</p>\n<p>Una forma de crear el actor con una imagen es:</p>\n<pre><code>protagonista = Actor(\"planeta_azul.png\")\n</code></pre>\n<p>incluso, es equivalente hacer lo siguiente:</p>\n<pre><code>imagen = pilas.imagenes.cargar(\"planeta_azul.png\")\nprotagonista = Actor(imagen)\n</code></pre>\n<p>El resultado ser\u00e1:</p>\n<p><img alt=\"\" src=\"../imagenes/actores/planeta_azul.png\" /></p>\n<p>Luego, una vez que ha sido ejecutada la sentencia aparecer\u00e1\nel nuevo actor para que puedas manipularlo. Por ejemplo\nalterando sus propiedades:</p>\n<pre><code>protagonista.x = 100\nprotagonista.escala = 2\nprotagonista.rotacion = 30\n</code></pre>\n<p>Estas propiedades tambi\u00e9n se pueden manipular mediante\ninterpolaciones. Por ejemplo, para aumentar el tama\u00f1o del\npersonaje de 1 a 5 en 7 segundos:</p>\n<pre><code>protagonista.escala = 1\nprotagonista.escala = [5], 7\n</code></pre>\n<p>Si quieres que el actor sea invisible, un truco es crearlo\ncon la imagen <code>invisible.png</code>:</p>\n<pre><code>invisible = pilas.actores.Actor('invisible.png')\n</code></pre>\n<h3 id=\"aceituna\">Aceituna</h3>\n<p>El actor aceituna es super simple</p>\n<p><img alt=\"\" src=\"../imagenes/actores/aceituna.png\" /></p>\n<pre><code>aceituna = pilas.actores.Aceituna()\n</code></pre>\n<p><em>Comportamientos:</em></p>\n<ul>\n<li><code>aceituna.saludar(mensaje)</code></li>\n<li><code>aceituna.saltar()</code></li>\n</ul>\n<h3 id=\"animacion\">Animacion</h3>\n<p>Representa una animaci\u00f3n de una grilla de im\u00e1genes.</p>\n<p>Este actor toma una grilla de cuadros de animaci\u00f3n\ny los reproduce hasta que la animaci\u00f3n termina. Cuando\nla animaci\u00f3n termina se elimina a si mismo.</p>\n<p>El constructor tiene algunos par\u00e1metros de utilidad:</p>\n<ul>\n<li>El par\u00e1metro <code>ciclica</code> permite hacer animaciones infinitas,\nque se repiten siempre, por defecto vale <code>False</code> que significa que\nla animaci\u00f3n terminar\u00e1 y no se repetir\u00e1.</li>\n<li>El par\u00e1metro <code>velocidad</code> tiene que ser un n\u00famero que indicar\u00e1 la\ncantidad de cuadros por segundo que se tienen que mostrar\nen la animaci\u00f3n.</li>\n</ul>\n<p>Por ejemplo, para mostrar una explosi\u00f3n infinita podr\u00edas escribir:</p>\n<pre><code>grilla = pilas.imagenes.cargar_grilla(&quot;explosion.png&quot;, 7)\nanimacion = pilas.actores.Animacion(grilla, ciclica=True, velocidad=1)\n</code></pre>\n\n<p><img alt=\"\" src=\"../imagenes/actores/explosion.png\" /></p>\n<p><em>Comportamientos:</em></p>\n<ul>\n<li><code>animacion.definir_velocidad_de_animacion(velocidad_de_animacion)</code></li>\n<li><code>animacion.obtener_velocidad_de_animacion()</code></li>\n</ul>\n<h3 id=\"animado\">Animado</h3>\n<p>Representa un actor que tiene asociada una grilla con cuadros de animacion.</p>\n<p>Una de las variantes que introduce este actor es el\nm\u00e9todo 'definir_cuadro', que facilita la animaci\u00f3n de personajes.</p>\n<p>Por ejemplo, si tenemos una grilla con un ping\u00fcino, podr\u00edamos\nmostrarlo usando este c\u00f3digo:</p>\n<pre><code>grilla = pilas.imagenes.cargar_grilla(&quot;pingu.png&quot;, 10)\nactor = Animado(grilla)\nactor.definir_cuadro(2)\nactor.definir_cuadro(5)\n</code></pre>\n\n<p><img alt=\"\" src=\"../imagenes/actores/pingu.png\" /></p>\n<p><em>Comportamientos:</em></p>\n<ul>\n<li><code>actor.definir_cuadro(indice)</code></li>\n</ul>\n<h3 id=\"bala\">Bala</h3>\n<p>Representa un disparo que avanza en linea recta, con un \u00e1ngulo\nde direcci\u00f3n y un sentido determinado.</p>\n<pre><code>bala = pilas.actores.Bala(rotacion=0, velocidad_maxima=9, angulo_de_movimiento=90)\n</code></pre>\n\n<p>y opcionalmente, si queremos que se llame a una funci\u00f3n en el momento\nde eliminaci\u00f3n del disparo podemos hacer as\u00ed:</p>\n<pre><code>bala.cuando_se_elimina = funcion_a_invocar\n</code></pre>\n\n<h3 id=\"banana\">Banana</h3>\n<p>Muestra una banana que se combina (tem\u00e1ticamente) con el actor Mono.</p>\n<p><img alt=\"\" src=\"../imagenes/actores/banana.png\" /></p>\n<p>Este actor se podr\u00eda usar c\u00f3mo alimento o bonus para otros\nactores.</p>\n<p>Este actor tiene solo dos cuadros de animaci\u00f3n que se pueden\nmostrar con los m\u00e9todos <code>abrir</code> y <code>cerrar</code>:</p>\n<pre><code>banana = pilas.actores.Banana()\nbanana.abrir()\nbanana.cerrar()\n</code></pre>\n\n<p><em>Comportamientos:</em></p>\n<ul>\n<li><code>banana.abrir()</code></li>\n<li><code>banana.cerrar()</code></li>\n</ul>\n", 
    "url": "/actores/", 
    "language": "en", 
    "title": "Actores"
}