hugoruscitti/pilas

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

Summary

Maintainability
Test Coverage
{
    "content": "<h1 id=\"interpolaciones\">Interpolaciones</h1>\n<p>Las interpolaciones nos permiten lograr movimientos\nde los actores de manera sencilla.</p>\n<p>Por ejemplo, tradicionalmente si quisi\u00e9ramos cambiar\nposici\u00f3n de un actor en pantalla podemos usar estas\nsentencias:</p>\n<pre><code>actor.x = 10\nactor.x = 20\nactor.x = 30\netc ...\n</code></pre>\n<p>una forma de lograr lo mismo con pilas\nes asignarle todos los valores en forma de lista:</p>\n<pre><code>actor.x = range(10, 100, 10)\n</code></pre>\n<p>o lo que es lo mismo:</p>\n<pre><code>actor.x = [10, 20, 30, 40, 50 ... etc.\n</code></pre>\n<p>Y a estas interpolaciones, tambi\u00e9n le puedes decir\ncuantos segundos puede demorar. Por ejemplo, para\ndar un giro completo de 360 grados en 10\nsegundos puedes hacer algo como:</p>\n<pre><code>actor.rotacion = [360], 10\n</code></pre>\n<p>de hecho, puede que te resulte mas conveniente\ntener mas control sobre la interpolaci\u00f3n, as\u00ed\nque puedes usar esta forma:</p>\n<pre><code>actor.x = pilas.interpolar(100)\n</code></pre>\n<p>donde el valor inicial ser\u00e1 la posici\u00f3n x del actor y el valor\nfinal ser\u00e1 <code>100</code>.</p>\n<p>La funci\u00f3n <code>interpolar</code>, como mencion\u00e9 antes, te da mas\ncontrol sobre la interpolaci\u00f3n, porque admite otros par\u00e1metros\nde ajuste como los siguientes:</p>\n<ul>\n<li><code>duracion</code>: los segundos que durara la interpolacion.</li>\n<li><code>demora</code>: los segundos que tiene que esperar antes de iniciar la interpolacion.</li>\n<li><code>tipo</code>: tipo de interpolaciones, que generalmente es 'lineal'.</li>\n</ul>\n<p>Por ejemplo, si queremos que un personaje d\u00e9 un giro\ncompleto de 360 grados en 10 segundos podemos\nhacer algo as\u00ed:</p>\n<pre><code>actor.rotacion = 0\nactor.rotacion = pilas.interpolar(360, duracion=10)\n</code></pre>\n<h2 id=\"girando-un-actor\">Girando un actor</h2>\n<p>Esta herramienta se puede aplicar a muchas situaciones distintas, por\nejemplo si queremos hacer girar un personaje\npodemos hacer algo como:</p>\n<pre><code>actor.rotacion = 0\nactor.rotacion = pilas.interpolar(360, duracion=5)\n</code></pre>\n<p>con lo que estar\u00edamos diciendo al personaje que d\u00e9 un\ngiro completo (de <code>0</code> a <code>360</code> grados) en <code>5</code> segundos.</p>\n<p>Tambi\u00e9n existe un argumento <code>delay</code> para demorar el\ninicio de la interpolaci\u00f3n.</p>\n<h2 id=\"escalando-un-actor\">Escalando un actor</h2>\n<p>De manera similar a lo que hicimos anteriormente, podemos\naplicarla a la propiedad <code>escala</code> una nueva\ninterpolaci\u00f3n:</p>\n<pre><code>actor.escala = pilas.interpolar(2, duracion=5)\n</code></pre>\n<p>esto duplicar\u00e1 el tama\u00f1o del actor en <code>5</code> segundos.</p>\n<p>\u00bfY mas simple?, bueno, como hicimos antes:</p>\n<pre><code>actor.escala = [2]\n</code></pre>\n<h2 id=\"interpolaciones-en-cadena\">Interpolaciones en cadena</h2>\n<p>Si queremos que una interpolaci\u00f3n pase por distintos\nvalores podemos hacer algo como esto:</p>\n<pre><code>actor.x = pilas.interpolar([300, 0, 300], duracion=3)\n</code></pre>\n<p>lo que llevar\u00e1 al actor de su posici\u00f3n <code>x</code> actual, a 300\nen un segundo, y luego a <code>0</code> en un segundo y por \u00faltimo\nde nuevo a <code>300</code> en un segundo.</p>\n<p>En total, ha consumido 3 segundos en pasar por todos los\nvalores que le indicamos.</p>\n", 
    "url": "/interpolacion/", 
    "language": "en", 
    "title": "Interpolaciones"
}