<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://windowstecnico.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Técnico : canvas, HTML5</title><link>http://windowstecnico.com/archive/tags/canvas/HTML5/default.aspx</link><description>Etiquetas: canvas, HTML5</description><dc:language /><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Creando una animación en HTML5: Moviendo al príncipe (II de II)</title><link>http://windowstecnico.com/archive/2011/01/04/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-ii-de-ii.aspx</link><pubDate>Tue, 04 Jan 2011 11:03:05 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:3858</guid><dc:creator>Anonymous</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=3858</wfw:commentRss><comments>http://windowstecnico.com/archive/2011/01/04/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-ii-de-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Una vez definidos los &lt;a href="http://www.windowstecnico.com/archive/2011/01/03/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-i-de-ii.aspx"&gt;primeros movimientos del príncipe&lt;/a&gt;, a continuación se muestran el resto de movimientos necesarios para la animación. En primer lugar el movimiento para saltar y colgarse de una pared:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_0A7DC834.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_00692709.png" width="573" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 1: Movimiento &amp;quot;colgarseDerecha&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;El siguiente movimiento que realiza el príncipe consiste en subir al piso de cual se encuentra colgado, a este movimiento se le va a llamar “subirDerecha”:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_183FE862.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_7F5E23AD.png" width="573" height="173" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 2: Movimiento &amp;quot;subirDerecha&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;A continuación, y siguiendo la escena, el príncipe sale corriendo en dirección a la probeta, a este movimiento se le va a llamar “correrDerecha”:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_5BE17F48.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_5EC6BE2E.png" width="521" height="219" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 3: Movimiento &amp;quot;correrDerecha&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;Justo antes de llegar a la probeta el príncipe frena, pero no de manera abrupta, sino que realiza un movimiento para ello, a este movimiento se le va a llamar “frenarDerecha”:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_3165285E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_4EF7035D.png" width="555" height="220" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 4: Movimiento &amp;quot;frenarDerecha&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;Por último el príncipe se bebe la probeta, realizando un nuevo movimiento al que se denomina “beberProbetaDerecha”:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_752C34E2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_5FEE096D.png" width="573" height="186" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 5: Movimiento &amp;quot;beberProbetaDerecha&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;Recordad que cada uno de estos movimientos (y sus equivalentes hacia la izquierda) deben quedar reflejados en la función &lt;b&gt;&lt;i&gt;moverSprite&lt;/i&gt;&lt;/b&gt;,&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;introduciendo el código necesario tal y como se vio en el anterior post.&lt;/p&gt;  &lt;p align="justify"&gt;Una vez definidos todos los movimientos del príncipe a utilizar en la animación, queda introducir el &lt;i&gt;sprite&lt;/i&gt; &lt;i&gt;estático&lt;/i&gt; con la probeta. Para ello, en lugar de utilizar la función &lt;b&gt;&lt;i&gt;newSprite, &lt;/i&gt;&lt;/b&gt;se crea la función &lt;b&gt;&lt;i&gt;newStaticSprite&lt;/i&gt;&lt;/b&gt;, una versión reducida de la anterior donde no se incorpora ninguna funcionalidad relacionada con el movimiento, quedando simplificada al código para su inicialización, carga de imagen y dibujado en pantalla, tal y como se puede ver en la siguiente imagen:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_5B47D8E6.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_144F620C.png" width="573" height="479" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 6: &lt;em&gt;Sprite estático&lt;/em&gt; de la probeta&lt;/p&gt;  &lt;p align="justify"&gt;Para crear el &lt;i&gt;sprite&lt;/i&gt; se incluye el código necesario en la función &lt;b&gt;&lt;i&gt;init &lt;/i&gt;&lt;/b&gt;del &lt;b&gt;&lt;i&gt;Experiment&lt;/i&gt;&lt;/b&gt;, tal y como se puede ver en la siguiente imagen, observar cómo se dibuja fuera de la pantalla, ya que al iniciarse la animación la probeta no debe visualizarse:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_734BC997.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_4AEC7176.png" width="573" height="71" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 7: Creación del &lt;em&gt;sprite estático&lt;/em&gt; de la probeta&lt;/p&gt;  &lt;p align="justify"&gt;No se debe olvidar incluir el código necesario para que se dibuje el &lt;i&gt;sprite &lt;/i&gt;en cada iteración del contador a través de la función &lt;b&gt;&lt;i&gt;dibujaSprites&lt;/i&gt;&lt;/b&gt;, como se muestra a continuación:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_2555CC42.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_732E7BF7.png" width="573" height="59" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 8: Código para dibujar la probeta en la función &lt;em&gt;dibujaSprites&lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Una vez creado este &lt;i&gt;sprite&lt;/i&gt; y jugando con las posiciones, el tiempo y los movimientos en la línea del tiempo se completa la animación. A continuación se muestra un fragmento donde se realiza el cambio de escena, mostrando el nuevo fondo y la probeta, mientras que al príncipe se le coloca al principio de la escena, el cual continúa con el movimiento que tenia desplazándose hacia una nueva posición:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_5E5C8377.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_46906698.png" width="496" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 9: Cambio de escena en la línea del tiempo&lt;/p&gt;  &lt;p align="justify"&gt;La animación completa se encuentra disponible en la siguiente URL:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;&lt;a href="http://www.informatica64.com/spriteAnimationcontest/animacion3/inicio.html"&gt;http://www.informatica64.com/spriteAnimationcontest/animacion3/inicio.html&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;Esperamos que este pequeño tutorial os haya servido para introduciros en el mundo de la animación mediante &lt;i&gt;sprites&lt;/i&gt;, aprovechando de la mano de IE9 las posibilidades del HTML5. &lt;/p&gt;  &lt;p align="justify"&gt;A todos lo que participáis en el &lt;a href="http://www.informatica64.com/spriteAnimationcontest"&gt;concurso Sprite Animation Contest&lt;/a&gt;, animo y &lt;strong&gt;¡suerte!&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;=============================================================&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx"&gt;Material necesario&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/22/creando-una-animaci-243-n-en-html5-definiendo-la-animaci-243-n.aspx"&gt;Definiendo la animación&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/27/creando-una-animaci-243-n-en-html5-la-estructura-del-motor.aspx"&gt;La estructura del motor&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx"&gt;Primer fotograma (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/30/creando-una-animaci-243-n-en-html5-primer-fotograma-ii-de-ii.aspx"&gt;Primer fotograma (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/03/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-i-de-ii.aspx"&gt;Moviendo al príncipe (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: Moviendo al príncipe (II de II)&lt;/p&gt;  &lt;p&gt;=============================================================&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=3858" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/HTML5/default.aspx">HTML5</category><category domain="http://windowstecnico.com/archive/tags/IE9/default.aspx">IE9</category><category domain="http://windowstecnico.com/archive/tags/Xbox+360/default.aspx">Xbox 360</category><category domain="http://windowstecnico.com/archive/tags/concurso/default.aspx">concurso</category><category domain="http://windowstecnico.com/archive/tags/canvas/default.aspx">canvas</category><category domain="http://windowstecnico.com/archive/tags/sprite+animation+contest/default.aspx">sprite animation contest</category></item><item><title>Creando una animación en HTML5: Moviendo al príncipe (I de II)</title><link>http://windowstecnico.com/archive/2011/01/03/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-i-de-ii.aspx</link><pubDate>Mon, 03 Jan 2011 13:06:27 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:3852</guid><dc:creator>Anonymous</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=3852</wfw:commentRss><comments>http://windowstecnico.com/archive/2011/01/03/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-i-de-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Una vez creado el &lt;a href="http://www.windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx"&gt;primer fotograma de la animación&lt;/a&gt; llega la hora de animar al príncipe, con el objetivo de llevar a cabo la animación que se mostro en el video inicial. Tal y como se puede observar en el video en la primera escena se producen dos movimientos distintos (teniendo en cuenta al hoja de sprites que se está utilizando).&lt;/p&gt;  &lt;p align="justify"&gt;El primero de ellos es el movimiento a través del cual el príncipe “arranca” de parado, para posteriormente proceder a dar un salto o correr. A este movimiento se denominará “arrancarDerecha”, junto con su equivalente “arrancarIzquierda”, tal y como se puede ver en la siguiente imagen:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_0B4B7A93.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_2141C058.png" width="573" height="218" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 1: Movimiento &amp;quot;arrancarDerecha&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;Como se puede observar el movimiento se compone de 6 &lt;i&gt;frames&lt;/i&gt;, indicándose las posiciones y tamaños tal y como se ha mostrado en anteriores posts. &lt;/p&gt;  &lt;p align="justify"&gt;El siguiente movimiento para esta escena es el de saltar. En este movimiento se presenta el inconveniente de que los &lt;i&gt;frames&lt;/i&gt; no ocupan el mismo ancho. Se puede optar por modificar la hoja de &lt;i&gt;sprites&lt;/i&gt;, o como en el caso que aquí se muestra, se utiliza un &lt;i&gt;array &lt;/i&gt;para definir el ancho de cada &lt;i&gt;frame&lt;/i&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_451A71E5.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_17B8DC15.png" width="573" height="177" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 2: Movimiento &amp;quot;saltarDerecha&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;Una vez definidos los dos movimientos de esta escena, se debe modificar la función &lt;b&gt;&lt;i&gt;newsprite&lt;/i&gt;&lt;/b&gt;, para crear las funciones necesarias para realizar los movimientos.&lt;/p&gt;  &lt;p align="justify"&gt;En primer lugar se añade el atributo &lt;b&gt;&lt;i&gt;tipoMovimiento&lt;/i&gt;&lt;/b&gt;&lt;i&gt; &lt;/i&gt;a la variable &lt;i&gt;sprite&lt;/i&gt;, y luego se modifica la función &lt;b&gt;&lt;i&gt;drawImage&lt;/i&gt;&lt;/b&gt; para dibujar el &lt;i&gt;sprite &lt;/i&gt;teniendo en cuenta si el movimiento se ha definido con ancho fijo o a través de un &lt;i&gt;array&lt;/i&gt;. Para ello eliminar el código marcado en rojo y colocar el marcado en verde, tal y como se muestra en la siguiente imagen:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_35B6EA09.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_0E6C7B07.png" width="573" height="460" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 3: Modificación de la función &amp;quot;drawImage&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;En esta misma función, al final incluir el código “&lt;i&gt;Sprite.moverSprite();”&lt;/i&gt;, que se utiliza para mover el &lt;i&gt;sprite &lt;/i&gt;según el movimiento especificado. La función &lt;b&gt;&lt;i&gt;moverSprite&lt;/i&gt;&lt;/b&gt;, quedaría como sigue:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_678E3EF9.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_50EBF0B2.png" width="469" height="535" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 4: Función &amp;quot;moverSprite&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;Nótese que la función es semejante a la descargada en el motor original, salvo que en esta se tiene en cuenta el valor de la variable &lt;i&gt;tipoMovimiento &lt;/i&gt;ya que el príncipe no solo anda, sino que realiza otros muchos movimientos. Para cambiar de movimiento en la línea del tiempo de la animación se crea la función &lt;b&gt;&lt;i&gt;cambiarMovimiento:&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_286D0E9E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_3AD55F53.png" width="322" height="113" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 5: Función &amp;quot;cambiarMovimiento&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;Por último en la línea de tiempo introducimos el código necesario para ir desplazando al príncipe y moverlo a lo largo de la escena uno:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_2577A9EB.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_79C6DFEE.png" width="400" height="231" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 6: Línea del tiempo&lt;/p&gt;  &lt;p align="justify"&gt;Puedes visualizar y descargar el código de esta &lt;a href="http://www.informatica64.com/spriteAnimationcontest/animacion2/inicio.html"&gt;primera parte de la animación del príncipe&lt;/a&gt;. A partir de aquí el siguiente paso es generar el resto de movimientos, incorporándolos a la función &lt;b&gt;&lt;i&gt;drawImage &lt;/i&gt;&lt;/b&gt;como se ha visto y utilizarlos en la línea del tiempo. &lt;/p&gt;  &lt;p align="justify"&gt;En el próximo post se mostrarán el resto de movimientos y se verá como cambiar de escena e introducir la probeta como &lt;i&gt;sprite&lt;/i&gt; &lt;em&gt;estático&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx"&gt;Material necesario&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/22/creando-una-animaci-243-n-en-html5-definiendo-la-animaci-243-n.aspx"&gt;Definiendo la animación&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/27/creando-una-animaci-243-n-en-html5-la-estructura-del-motor.aspx"&gt;La estructura del motor&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx"&gt;Primer fotograma (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/30/creando-una-animaci-243-n-en-html5-primer-fotograma-ii-de-ii.aspx"&gt;Primer fotograma (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: Moviendo al príncipe (I de II)&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/04/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-ii-de-ii.aspx"&gt;Moviendo al príncipe (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=3852" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/HTML5/default.aspx">HTML5</category><category domain="http://windowstecnico.com/archive/tags/IE9/default.aspx">IE9</category><category domain="http://windowstecnico.com/archive/tags/Xbox+360/default.aspx">Xbox 360</category><category domain="http://windowstecnico.com/archive/tags/concurso/default.aspx">concurso</category><category domain="http://windowstecnico.com/archive/tags/canvas/default.aspx">canvas</category><category domain="http://windowstecnico.com/archive/tags/sprite+animation+contest/default.aspx">sprite animation contest</category></item><item><title>Creando una animación en HTML5: Primer fotograma (II de II)</title><link>http://windowstecnico.com/archive/2010/12/30/creando-una-animaci-243-n-en-html5-primer-fotograma-ii-de-ii.aspx</link><pubDate>Thu, 30 Dec 2010 08:40:13 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:3839</guid><dc:creator>Anonymous</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=3839</wfw:commentRss><comments>http://windowstecnico.com/archive/2010/12/30/creando-una-animaci-243-n-en-html5-primer-fotograma-ii-de-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Una vez creado el &lt;a href="http://www.windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx"&gt;movimiento para el primer fotograma&lt;/a&gt;, el siguiente paso consiste en modificar la función &lt;i&gt;newSprite()&lt;/i&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Dentro de esta función, en el elemento &lt;i&gt;sprite&lt;/i&gt;, únicamente van a ser necesarias las funciones: &lt;i&gt;initSprite&lt;/i&gt;, &lt;i&gt;loadImage&lt;/i&gt;, &lt;i&gt;drawImage&lt;/i&gt; y &lt;i&gt;stepSprite&lt;/i&gt;. Las funciones &lt;i&gt;goRight&lt;/i&gt;, &lt;i&gt;stopMovement&lt;/i&gt;, &lt;i&gt;goLef&lt;/i&gt; y &lt;i&gt;moveSprite&lt;/i&gt; las podemos comentar, ya que de momento no van a ser necesarias. A continuación se indica el cometido de estas cuatro funciones y la modificación que hay que realizar en una de ellas:&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;initSprite&lt;/b&gt;: Inicializa el &lt;i&gt;sprite&lt;/i&gt; con los datos necesarios, cargando la imagen asociada. El &lt;i&gt;sprite&lt;/i&gt; se inicia con un movimiento, por lo que en la última línea de esta función debemos especificar el movimiento inicial, en el caso de esta animación, el definido anteriormente: “Paradoderecha”:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_3C0AE732.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_5BB9C0FA.png" width="242" height="29" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;loadImage&lt;/b&gt;: Carga la imagen para el &lt;i&gt;sprite&lt;/i&gt;, no es necesario realizar ninguna modificación.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;drawImage&lt;/b&gt;: Dibuja la imagen sobre el lienzo, tampoco es necesario realizar ninguna modificación.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;stepSprite&lt;/b&gt;: Controla los diferentes pasos de la animación de un &lt;i&gt;sprite&lt;/i&gt;, no es necesario realizar ninguna modificación.&lt;/p&gt;  &lt;p align="justify"&gt;Una vez realizado el movimiento y modificado el elemento &lt;i&gt;sprite&lt;/i&gt;, le toca el turno al elemento &lt;i&gt;Experiment, &lt;/i&gt;en cuya función &lt;i&gt;init &lt;/i&gt;quitaremos los &lt;i&gt;sprites&lt;/i&gt; que no forman parte de esta animación (billy, mariam, willy, etc …), creando el del príncipe y modificando la imagen de fondo a cargar:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_68B3A10B.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_1A2EE8D4.png" width="573" height="448" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 4: Elemento Experiment&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;Como se puede observar en la imagen anterior, a través de la función &lt;i&gt;initSprite &lt;/i&gt;se carga el &lt;i&gt;sprite&lt;/i&gt; del príncipe, utilizando la hoja de &lt;i&gt;sprites&lt;/i&gt; “imágenes/prince.png”, y se coloca en las coordenadas X e Y especificadas (340, 280) con el tamaño indicado (40 píxeles de ancho y 90 píxeles de alto), el movimiento inicial asignado al &lt;i&gt;sprite&lt;/i&gt; será el de “paradoDerecha”. Un poco más abajo en la imagen se puede observar cómo se carga de fondo la imagen de la escena “imágenes/escena2.png”.&lt;/p&gt;  &lt;p align="justify"&gt;En la función &lt;i&gt;drawFrame&lt;/i&gt; es donde se encuentra la “línea de tiempo” de la animación, actualmente no se va a realizar ningún movimiento de los &lt;i&gt;sprites&lt;/i&gt;, por lo que se dejaría la instrucción &lt;i&gt;switch &lt;/i&gt;vacía:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_617418F9.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_11BAEDB0.png" width="573" height="291" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 5: Función draw&lt;i&gt;Frame&lt;/i&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Llegados a este punto solo queda revisar las funciones &lt;i&gt;dibujaFondo&lt;/i&gt; y &lt;i&gt;dibujaSprites&lt;/i&gt;, la primera de ellas es la encargada de pintar la imagen de la escena, salvo que se quiera hacer más grande o más pequeña no sería necesario modificarla.&lt;/p&gt;  &lt;p align="justify"&gt;La función &lt;i&gt;dibujaSprites &lt;/i&gt;se encarga de pintar los &lt;i&gt;sprites&lt;/i&gt; de la animación, en el caso de esta animación únicamente se dibujaría el &lt;i&gt;sprite&lt;/i&gt; del príncipe:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_35276C48.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_494088D1.png" width="507" height="149" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 6: Función dibujaSprites&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;Una vez modificadas todas estas funciones ya se puede abrir el fichero &lt;i&gt;inicio.html &lt;/i&gt;con la versión Beta del &lt;i&gt;Internet Explorer 9&lt;/i&gt; o la &lt;i&gt;Platform Preview&lt;/i&gt;, visualizándose el siguiente resultado:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_73ACB9EE.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_7330612C.png" width="573" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen7: Primera &lt;i&gt;frame&lt;/i&gt; en HTML5&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;Si lo prefieres puede ver esta &lt;a href="http://www.informatica64.com/spriteAnimationcontest/animacion1/inicio.html"&gt;primera parte de la animación&lt;/a&gt; accediendo al enlace con Internet Explorer 9, de modo que puedas descargar el código y echarle un vistazo. &lt;/p&gt;  &lt;p align="justify"&gt;En los próximos post veremos cómo implementar nuevos movimientos y hacer que el príncipe se mueva a lo largo de la escena tal y como se mostro en el video inicial.&lt;a name="_GoBack"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx"&gt;Material necesario&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/22/creando-una-animaci-243-n-en-html5-definiendo-la-animaci-243-n.aspx"&gt;Definiendo la animación&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/27/creando-una-animaci-243-n-en-html5-la-estructura-del-motor.aspx"&gt;La estructura del motor&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx"&gt;Primer fotograma (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: Primer fotograma (II de II)&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/03/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-i-de-ii.aspx"&gt;Moviendo al príncipe (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/04/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-ii-de-ii.aspx"&gt;Moviendo al príncipe (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=3839" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/HTML5/default.aspx">HTML5</category><category domain="http://windowstecnico.com/archive/tags/IE9/default.aspx">IE9</category><category domain="http://windowstecnico.com/archive/tags/Xbox+360/default.aspx">Xbox 360</category><category domain="http://windowstecnico.com/archive/tags/concurso/default.aspx">concurso</category><category domain="http://windowstecnico.com/archive/tags/canvas/default.aspx">canvas</category><category domain="http://windowstecnico.com/archive/tags/sprite+animation+contest/default.aspx">sprite animation contest</category></item><item><title>Creando una animación en HTML5: Primer fotograma (I de II)</title><link>http://windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx</link><pubDate>Wed, 29 Dec 2010 08:21:19 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:3830</guid><dc:creator>Anonymous</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=3830</wfw:commentRss><comments>http://windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;En esta entrada comienza la modificación del motor &lt;i&gt;JavaScript&lt;/i&gt; para generar la animación definida anteriormente. Para ello vamos a modificar el fichero &lt;i&gt;action.js&lt;/i&gt; para conseguir mostrar en nuestro IE9 al príncipe sobre la primera de las escenas, tal y como se puede ver en el primer fotograma de la animación:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_5E6D2AC2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_0A3D7EB2.png" width="324" height="204" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 1: Primer fotograma de la animación&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;En primer lugar para trabajar con mayor comodidad, hay que activar el modo &lt;i&gt;debug&lt;/i&gt;, para ello, en la primera línea del fichero &lt;i&gt;action.js&lt;/i&gt;, se establece la variable &lt;i&gt;debuMode&lt;/i&gt; a &lt;i&gt;true&lt;/i&gt;. De este modo en la parte superior del navegador se mostrará el instante de tiempo en que se encuentra nuestra animación, así como la coordenada X e Y del ratón. Pulsando con el botón izquierdo del mismo sobre la animación se detiene el tiempo.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_48569963.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_47EA666E.png" width="407" height="54" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 2: Línea de tiempo y coordenadas X e Y&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;El siguiente paso consiste en crear la primera animación del personaje, en este caso se correspondería con el movimiento “parado mirando a la derecha”. Para ello se genera el movimiento utilizando la estructura comentada en el post anterior, tal y como se observa en la siguiente imagen:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_7975D403.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_51CF57D9.png" width="456" height="214" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Imagen 3: Animación &amp;quot;parado mirando a la derecha&amp;quot;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;Si se observa la hoja de &lt;i&gt;sprites&lt;/i&gt; del príncipe la animación “parado” se corresponde con el primer &lt;i&gt;frame&lt;/i&gt; de la parte superior izquierda, por lo que la variable quedaría tal y como se muestra en la imagen anterior, pasando a detallar a continuación cada uno de los elementos de la estructura:&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;name&lt;/b&gt;: Nombre de la animación.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;sX, sY&lt;/b&gt;: Coordenadas X e Y desde las cuales comienza la animación (esquina superior izquierda del rectángulo de la imagen).&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;width, height&lt;/b&gt;: Ancho y alto del &lt;i&gt;frame&lt;/i&gt; (anchura y altura del rectángulo de la imagen).&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;totalframes&lt;/b&gt; Número de &lt;i&gt;frames&lt;/i&gt; que componen la animación; empezando en el rectángulo de la imagen, el número de rectángulos iguales, desplazándolos hacia la derecha, que componen la animación. &lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;loop&lt;/b&gt;: Si la animación se compone de más de un &lt;i&gt;frame&lt;/i&gt;, indica si se debe repetir la secuencia de &lt;i&gt;frames&lt;/i&gt; o no.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;step&lt;/b&gt;: Indica cada cuantas unidades de tiempo de reloj deben transcurrir de un elemento a otro de la animación.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;flipH&lt;/b&gt;: Indica si se debe realizar un volteo horizontal de la imagen, actualmente el príncipe mira siempre hacia la izquierda, colocando &lt;i&gt;true&lt;/i&gt; en esta propiedad pasaría a mirar hacia la derecha.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;size&lt;/b&gt;: Multiplica el tamaño del &lt;i&gt;sprite&lt;/i&gt; por el número especificado, con ello podemos conseguir el efecto de profundidad en las animaciones 2D.&lt;/p&gt;  &lt;p align="justify"&gt;El resto de movimientos se pueden eliminar, ya que a medida que vayamos avanzando en la animación se irán generando los que sean necesarios. En el siguiente post se modificará el resto del script para generar el primer fotograma de la animación.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;===========================================================&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx"&gt;Material necesario&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/22/creando-una-animaci-243-n-en-html5-definiendo-la-animaci-243-n.aspx"&gt;Definiendo la animación&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/27/creando-una-animaci-243-n-en-html5-la-estructura-del-motor.aspx"&gt;La estructura del motor&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: Primer fotograma (I de II)&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/30/creando-una-animaci-243-n-en-html5-primer-fotograma-ii-de-ii.aspx"&gt;Primer fotograma (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/03/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-i-de-ii.aspx"&gt;Moviendo al príncipe (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/04/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-ii-de-ii.aspx"&gt;Moviendo al príncipe (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=3830" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/HTML5/default.aspx">HTML5</category><category domain="http://windowstecnico.com/archive/tags/IE9/default.aspx">IE9</category><category domain="http://windowstecnico.com/archive/tags/Xbox+360/default.aspx">Xbox 360</category><category domain="http://windowstecnico.com/archive/tags/concurso/default.aspx">concurso</category><category domain="http://windowstecnico.com/archive/tags/canvas/default.aspx">canvas</category><category domain="http://windowstecnico.com/archive/tags/sprite+animation+contest/default.aspx">sprite animation contest</category></item><item><title>Creando una animación en HTML5: La estructura del motor</title><link>http://windowstecnico.com/archive/2010/12/27/creando-una-animaci-243-n-en-html5-la-estructura-del-motor.aspx</link><pubDate>Mon, 27 Dec 2010 11:29:37 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:3812</guid><dc:creator>Anonymous</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=3812</wfw:commentRss><comments>http://windowstecnico.com/archive/2010/12/27/creando-una-animaci-243-n-en-html5-la-estructura-del-motor.aspx#comments</comments><description>&lt;p align="justify"&gt;Una vez &lt;a href="http://www.windowstecnico.com/archive/2010/12/22/creando-una-animaci-243-n-en-html5-definiendo-la-animaci-243-n.aspx"&gt;definida la animación&lt;/a&gt; llega el momento de comprender como está estructurado el motor &lt;i&gt;JavaScript&lt;/i&gt; descargado como parte del &lt;a href="http://www.windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx"&gt;material necesario&lt;/a&gt; para la animación. Al descomprimir el fichero se pueden ver dos directorios y dos ficheros cuyo contenido es el siguiente:&lt;/p&gt;  &lt;p align="justify"&gt;· Carpeta Imágenes: Aquí se almacenarán los fondos y las hojas de &lt;i&gt;sprites&lt;/i&gt; de la animación.&lt;/p&gt;  &lt;p align="justify"&gt;· Carpeta Música: Son los ficheros de sonido que se van a reproducir durante la animación.&lt;/p&gt;  &lt;p align="justify"&gt;· Inicio.html: Página Web con el lienzo donde se va a reproducir la animación.&lt;/p&gt;  &lt;p align="justify"&gt;· Action.js: fichero con el motor (código &lt;i&gt;JavaScript&lt;/i&gt;) necesario para realizar la animación.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;&lt;i&gt;La Página Web (inicio.html)&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Se trata de una página en HTML5 donde cabe señalar los siguientes elementos:&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;Audio&lt;/b&gt;: Etiqueta que permite reproducir audio, de modo que a lo largo de la animación se escuchará la música que se desee. Se puede utilizar código &lt;i&gt;JavaScript&lt;/i&gt; adicional en el motor para cambiar dinámicamente la música, pararla o volverla a iniciar, entre otras acciones.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_546D8E76.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_01827B45.png" width="587" height="59" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;·&lt;b&gt;Canvas&lt;/b&gt;: Lienzo donde se va a dibujar la animación, tal y como esta implementado el motor no se debe modificar su identificador, ya que si se hace habrá que modificar el código utilizado en el fichero &lt;i&gt;action.js&lt;/i&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_27E45E90.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_59039930.png" width="379" height="61" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;·&lt;b&gt;Contador y coordenadas&lt;/b&gt;: Elementos utilizados para mostrar la marca de tiempo y la posición del ratón cuando se está trabajando con el motor en modo &lt;i&gt;debug&lt;/i&gt;, muy útil para controlar la animación en tiempo de desarrollo.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_2597B007.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_3C29D881.png" width="455" height="59" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;Script&lt;/b&gt;: Carga del motor &lt;i&gt;JavaScript&lt;/i&gt; utilizado para generar la animación, contiene todo el código que se va a encargar de dibujar la animación en el elemento &lt;i&gt;canvas&lt;/i&gt; de la página HTML5.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_6696099E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_655170BF.png" width="466" height="25" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;·&lt;b&gt;Bocadillos&lt;/b&gt;: Elementos utilizados para los bocadillos (conversaciones entre personajes). Si no va a haber bocadillos en la animación estos elementos no serán necesarios.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_2A89C7E9.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_4FA71255.png" width="693" height="111" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;&lt;i&gt;El Motor JavaScript (action.js)&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Contiene todas las funciones y código &lt;i&gt;JavaScript&lt;/i&gt; necesarios para generar la animación, aunque a primera vista pueda resultar un poco complejo, vamos a tratar de desgranarlo en sus bloques principales, para en posteriores entradas ir trabajando en generar la animación:&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;Animaciones de los personajes: &lt;/b&gt;Para cada uno de los movimientos que realicen los &lt;i&gt;sprites&lt;/i&gt; de la animación se define una estructura del tipo que se observa en el cuadro. Si las hojas de &lt;i&gt;sprites&lt;/i&gt; contienen las animaciones en la misma posición existirá una única estructura por animación, de este modo se tendrá un armazón para definir la animación “parado mirando a la derecha”, “parado mirando a la izquierda”, “andando hacia la derecha”, “andando hacia la izquierda”, “saltando hacia la derecha”, etc. Y así con todos aquellos “movimientos” que realicen los &lt;i&gt;sprites&lt;/i&gt; de la animación.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_74C45CC1.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px auto;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_731390ED.png" width="230" height="182" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;El Sprite:&lt;/b&gt; Código utilizado para generar el &lt;i&gt;sprite&lt;/i&gt;, donde se definen las funciones que se utilizan para dibujar en pantalla dicho &lt;i&gt;sprite&lt;/i&gt;, hacerlo andar de un lado a otro (utilizando las animaciones correspondientes), hacerlo correr, saltar, etc…&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;Experiment&lt;/b&gt;: &lt;i&gt;Canvas&lt;/i&gt; (o lienzo) principal donde se cargan todos los &lt;i&gt;sprites&lt;/i&gt; que forman la animación y cuenta con el bucle donde se encuentra la línea de tiempo que se utiliza para generar dicha animación.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;Dibujafondo&lt;/b&gt;: Función que se encarga de dibujar el fondo en cada instante de tiempo de la animación.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;DibujaSprites&lt;/b&gt;: Función para dibujar todos los &lt;i&gt;sprites&lt;/i&gt; y que aparezcan por pantalla.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;b&gt;Funciones adicionales&lt;/b&gt;: Otras funciones utilizadas para el modo &lt;i&gt;debug&lt;/i&gt;, los bocadillos o la animación de la puerta del garaje.&lt;/p&gt;  &lt;p align="justify"&gt;En el próximo post veremos cómo definir el primer movimiento del príncipe, y modificaremos el motor para que únicamente se cargue nuestro personaje, con la escena adecuada. Partiremos de estos ficheros aquí comentados, por lo tanto es recomendable familiarizarse con ellos antes de pasar al siguiente punto, en el próximo post.&lt;a name="_GoBack"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx"&gt;Material necesario&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/22/creando-una-animaci-243-n-en-html5-definiendo-la-animaci-243-n.aspx"&gt;Definiendo la animación&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: La estructura del motor&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx"&gt;Primer fotograma (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/30/creando-una-animaci-243-n-en-html5-primer-fotograma-ii-de-ii.aspx"&gt;Primer fotograma (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/03/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-i-de-ii.aspx"&gt;Moviendo al príncipe (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/04/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-ii-de-ii.aspx"&gt;Moviendo al príncipe (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=3812" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/HTML5/default.aspx">HTML5</category><category domain="http://windowstecnico.com/archive/tags/IE9/default.aspx">IE9</category><category domain="http://windowstecnico.com/archive/tags/Xbox+360/default.aspx">Xbox 360</category><category domain="http://windowstecnico.com/archive/tags/concurso/default.aspx">concurso</category><category domain="http://windowstecnico.com/archive/tags/canvas/default.aspx">canvas</category><category domain="http://windowstecnico.com/archive/tags/sprite+animation+contest/default.aspx">sprite animation contest</category></item><item><title>Creando una animación en HTML5: Definiendo la animación</title><link>http://windowstecnico.com/archive/2010/12/22/creando-una-animaci-243-n-en-html5-definiendo-la-animaci-243-n.aspx</link><pubDate>Wed, 22 Dec 2010 15:00:19 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:3692</guid><dc:creator>Anonymous</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=3692</wfw:commentRss><comments>http://windowstecnico.com/archive/2010/12/22/creando-una-animaci-243-n-en-html5-definiendo-la-animaci-243-n.aspx#comments</comments><description>&lt;p align="justify"&gt;Una vez que tenemos todo el &lt;a href="http://www.windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx"&gt;material necesario&lt;/a&gt; para afrontar el desarrollo de nuestra animación en HTML5, llega el momento de definir cómo va a ser dicha animación (recordad que si queréis concursar en el &lt;a href="http://www.informatica64.com/spriteAnimationcontest/"&gt;Sprite animation contest&lt;/a&gt; debe girar en torno a Windows Live Mail). Se trata de realizar una animación basada en &lt;i&gt;sprites&lt;/i&gt;, es decir, una animación donde existe un fondo y unos elementos (&lt;i&gt;sprites&lt;/i&gt;) que se animan sobre él.&lt;/p&gt;  &lt;p align="justify"&gt;Este concepto de animación es el utilizado en los videojuegos de finales de los ochenta y principios de los noventa, títulos como &lt;i&gt;Golden Axe&lt;/i&gt;, &lt;i&gt;Double Dragon&lt;/i&gt; o &lt;i&gt;Prince of Persia&lt;/i&gt; se basan en este sistema para crear el videojuego. En nuestro caso vamos a recrear una secuencia del juego &lt;i&gt;Prince Of Persia II&lt;/i&gt;, tal y como podéis ver en el siguiente video:&lt;/p&gt;  &lt;div align="justify"&gt;   &lt;div style="padding-bottom:0px;margin:0px auto;padding-left:0px;width:448px;padding-right:0px;display:block;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b8b69026-d77c-4454-8dad-0586c4e3f2de" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="448" height="336"&gt;&lt;param name="movie" value="http://www.youtube.com/v/FSQCaI9XGyU?hl=en&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/FSQCaI9XGyU?hl=en&amp;amp;hd=1" type="application/x-shockwave-flash" width="448" height="336"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p align="justify"&gt;Como se puede ver la animación constara de dos escenas y dos &lt;i&gt;sprites&lt;/i&gt; distintos (el príncipe y la probeta). Por lo tanto debemos en primer lugar generar dos imágenes PNG que se utilizarán como fondos de nuestra animación. Con un par de capturas del video y un poco de edición de imágenes, obtenemos los dos fondos que vamos a utilizar:&lt;/p&gt;  &lt;p align="center"&gt;   &lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;           &lt;p&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/escena1_5F00_39BBAA56.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="escena1" border="0" alt="escena1" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/escena1_5F00_thumb_5F00_0EB39684.png" width="240" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;            &lt;p align="center"&gt;&lt;font size="2"&gt;Imagen 1: Escena 1&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td&gt;           &lt;p&gt;&amp;#160;&amp;#160; &lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/escena2_5F00_7A4DD0F8.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="escena2" border="0" alt="escena2" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/escena2_5F00_thumb_5F00_052AB241.png" width="240" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;            &lt;p align="center"&gt;&lt;font size="2"&gt;Imagen 2: Escena 2&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Una vez que tenemos los fondos, nos centramos en los &lt;i&gt;sprites&lt;/i&gt; que van a aparecer en ellos. Es necesario distinguir dos tipos de &lt;i&gt;sprites&lt;/i&gt;:&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;i&gt;Sprites&lt;/i&gt; estáticos: Elementos que no cambian su posición durante la animación.&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;i&gt;Sprites&lt;/i&gt; dinámicos: Elementos que sufrirán algún tipo de movimiento durante la animación.&lt;/p&gt;  &lt;p align="justify"&gt;En nuestra animación, el príncipe es un &lt;i&gt;sprite&lt;/i&gt; animado, mientras que la probeta sería un &lt;i&gt;sprite&lt;/i&gt; estático (no vamos a tener en cuenta la caída de la baldosa). La animación de un &lt;i&gt;sprite&lt;/i&gt; consiste en una secuencia de imágenes que rápidamente dibujadas da la sensación de movimiento. A continuación se muestra la secuencia de imágenes para la animación “bebiendo” del príncipe:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/bebiendo_5F00_6B922D56.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="bebiendo" border="0" alt="bebiendo" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/bebiendo_5F00_thumb_5F00_7C2A2844.png" width="458" height="82" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="2"&gt;Imagen 3: Animación “bebiendo”&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;El conjunto de todas las animaciones que utiliza un personaje se almacenan en un único fichero de imagen, conocido como &lt;i&gt;sprite sheet&lt;/i&gt;. Por lo tanto debemos generar un fichero de este tipo por cada uno de los personajes que vayamos a utilizar en nuestra animación. &lt;/p&gt;  &lt;p align="justify"&gt;En la red podéis encontrar algunas páginas dedicadas a recopilar &lt;i&gt;sprites&lt;/i&gt; de diversos videojuegos, &lt;a href="http://www.gsarchives.net/"&gt;Game Sprite Archives&lt;/a&gt; o &lt;a href="http://spritedatabase.net"&gt;Sprite Database&lt;/a&gt; son dos ejemplos, por supuesto, utilizando vuestro buscador podréis encontrar gran cantidad de &lt;i&gt;sprite sheet&lt;/i&gt; con vuestros personajes preferidos. Lógicamente, si os veis con ganas podéis crear vuestros propios personajes con todos los movimientos, utilizando programas de edición de imágenes o programas dedicados exclusivamente a este propósito, como &lt;a href="http://aseprite.org"&gt;ASEPRITE&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;Para que el motor JavaScript de la animación sea lo más sencillo posible, vuestras &lt;i&gt;sprite sheet&lt;/i&gt; deberían ser iguales, es decir, que los movimientos de cada personaje sean los mismos, que estén colocados en el mismo sitio y que tengan el mismo número de imágenes (frames) para los diferentes movimientos. De este modo podremos utilizar el mismo código para todos los personajes sin necesidad de crear uno específico para cada uno de ellos.&lt;/p&gt;  &lt;p align="justify"&gt;Para nuestra animación utilizaremos una única &lt;i&gt;Sprite Sheet&lt;/i&gt;, con el &lt;i&gt;Prince of Persia&lt;/i&gt;:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/prince_5F00_13E15FAB.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="prince" border="0" alt="prince" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/prince_5F00_thumb_5F00_62A1D970.png" width="470" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="2"&gt;Imagen 4: Sprite Sheet Prince of Persia&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Si examináis el &lt;a href="http://www.informatica64.com/spriteAnimationcontest/recursos/doubledragon.zip"&gt;motor JavaScript&lt;/a&gt; del anterior post, encontraréis, en la carpeta imágenes, los &lt;i&gt;sprite sheet&lt;/i&gt; de cada uno de los personajes utilizados en la animación, todos ellos con los movimientos en las mismas posiciones, así, por ejemplo, el movimiento referente a andar se encuentra arriba a la izquierda en todos ellos y se compone de cuatro imágenes.&lt;/p&gt;  &lt;p align="justify"&gt;En la próxima entrada empezaremos a explicar el funcionamiento del motor, modificándolo, poco a poco, para generar nuestra animación. Pensad vuestra animación, preparar los fondos y vuestras hojas de &lt;i&gt;sprites&lt;/i&gt; y nos vemos en la próxima entrada.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx"&gt;Material necesario&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: Definiendo la animación&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/27/creando-una-animaci-243-n-en-html5-la-estructura-del-motor.aspx"&gt;La estructura del motor&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx"&gt;Primer fotograma (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/30/creando-una-animaci-243-n-en-html5-primer-fotograma-ii-de-ii.aspx"&gt;Primer fotograma (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/03/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-i-de-ii.aspx"&gt;Moviendo al príncipe (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/04/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-ii-de-ii.aspx"&gt;Moviendo al príncipe (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=3692" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/HTML5/default.aspx">HTML5</category><category domain="http://windowstecnico.com/archive/tags/IE9/default.aspx">IE9</category><category domain="http://windowstecnico.com/archive/tags/Xbox+360/default.aspx">Xbox 360</category><category domain="http://windowstecnico.com/archive/tags/concurso/default.aspx">concurso</category><category domain="http://windowstecnico.com/archive/tags/canvas/default.aspx">canvas</category><category domain="http://windowstecnico.com/archive/tags/sprite+animation+contest/default.aspx">sprite animation contest</category></item><item><title>Creando una animación en HTML5: Material necesario</title><link>http://windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx</link><pubDate>Mon, 20 Dec 2010 15:31:00 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:3668</guid><dc:creator>Anonymous</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=3668</wfw:commentRss><comments>http://windowstecnico.com/archive/2010/12/20/creando-una-animaci-243-n-en-html5-material-necesario.aspx#comments</comments><description>&lt;p align="justify"&gt;El pasado viernes, 17 de diciembre, debido a las numerosas peticiones recibidas, se decidió ampliar el plazo para la finalización del &lt;a href="http://www.informatica64.com/spriteAnimationcontest/"&gt;concurso Sprite Animation Contest&lt;/a&gt;. Tal y como se indica en la Web, el concurso consiste en realizar una animación con HTML5 enseñando las novedades del nuevo Windows Live Mail. Para ello se proporciona un motor javascript para que se utilice como base y la explicación de cómo utilizarlo en un &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032470893&amp;amp;Culture=es-ES"&gt;Webcast&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image0024_5F00_0235572B.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="clip_image002[4]" border="0" hspace="12" alt="clip_image002[4]" align="right" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image0024_5F00_thumb_5F00_0F2F373C.jpg" width="92" height="92" /&gt;&lt;/a&gt;Ahora, desde Windows Técnico vamos a presentar una serie de entradas donde se muestra, paso a paso, como utilizar el motor para la creación de una animación, espero que con estas entradas todos aquellos que lo veis “muy complicado”, descubráis que es más sencillo de lo que parece y os animéis a ganar una XBOX 360. &lt;/p&gt;  &lt;p align="justify"&gt;Así que, manos a la obra, en este primer post vamos a descargar todo el material necesario y preparar nuestro equipo para empezar a trabajar&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://ie.microsoft.com/testdrive/info/downloads/Default.html"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:left;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="clip_image004[4]" border="0" hspace="12" alt="clip_image004[4]" align="left" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image0044_5F00_538F287B.jpg" width="240" height="65" /&gt;&lt;/a&gt;Dado que la animación funciona utilizando el elemento CANVAS de HTML5 necesitamos descargarnos el navegador compatible con esta nueva versión de HTML. La instalación de &lt;a href="http://ie.microsoft.com/testdrive/info/downloads/Default.html"&gt;Internet Explorer 9 Beta&lt;/a&gt; elimina de vuestro Windows Vista o Windows 7 el Internet Explorer 8 o anterior que tengáis instalado, esta puede ser una buena oportunidad para probar todas las novedades de este navegador, sin embargo, si no podéis o queréis perder vuestro Internet Explorer 8, descargar la &lt;a href="http://ie.microsoft.com/testdrive/info/downloads/Default.html"&gt;Platform Preview&lt;/a&gt;, la cual podéis utilizar para visualizar la animación sin ningún tipo de problemas. &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_601CD597.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px 0px 0px 5px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" align="right" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/image_5F00_thumb_5F00_6A01C702.png" width="222" height="52" /&gt;&lt;/a&gt;Para diseñar y programar nuestra aplicación vamos a necesitar de un editor de texto, nos vale cualquiera, incluyendo nuestro querido bloc de notas, por mi parte, durante estas entradas utilizare &lt;a href="http://www.microsoft.com/express/Web/"&gt;Microsoft® Visual Web Developer® 2010 Express&lt;/a&gt;, aplicación gratuita que nos proporciona todo lo necesario para el desarrollo de aplicaciones Web.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image0104_5F00_1565E7FD.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:left;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="clip_image010[4]" border="0" hspace="12" alt="clip_image010[4]" align="left" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image0104_5F00_thumb_5F00_39AACC7F.jpg" width="190" height="46" /&gt;&lt;/a&gt;Para la creación/modificación de fondos y personajes necesitaremos de un programa de dibujo, podemos hacer uso del Paint incluido en nuestro Windows o utilizar algún programa más complejo. En mi caso utilizare &lt;a href="http://www.getpaint.net/"&gt;Paint.net&lt;/a&gt;, un editor gratuito de imágenes y fotos para la plataforma Windows muy intuitivo y con características más que suficientes para nuestro propósito.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image0084_5F00_5881405D.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="clip_image008[4]" border="0" hspace="12" alt="clip_image008[4]" align="right" src="http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image0084_5F00_thumb_5F00_29BB87BB.jpg" width="141" height="122" /&gt;&lt;/a&gt;Por último nos descargamos el &lt;a href="http://www.informatica64.com/spriteAnimationcontest/recursos/doubledragon.zip"&gt;motor javascript&lt;/a&gt;, el cual vamos a utilizar para la realización de la animación, el motor consiste en un fichero comprimido ZIP, dentro contiene la carpeta DOUBLEDRAGON, en la cual se encuentran dos carpetas: imágenes y música, y dos ficheros: action.js y inicio.html. &lt;/p&gt;  &lt;p align="justify"&gt;En resumen, el material que vamos a necesitar para la creación de la animación es:&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;a href="http://www.informatica64.com/spriteAnimationcontest/recursos/doubledragon.zip"&gt;Motor javaScript&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;· &lt;a href="http://ie.microsoft.com/testdrive/info/downloads/Default.html"&gt;Internet Explorer 9 o Platform Preview&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;· Entorno de desarrollo (Opcional): &lt;a href="http://www.microsoft.com/express/Web/"&gt;Visual Studio 2010 Express&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;· Programa de edición de imágenes (Opcional): &lt;a href="http://www.getpaint.net/"&gt;Paint .NET&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Una vez descargado e instalado todo el material necesario ya podemos comenzar a realizar nuestra propia animación. En las próximas entradas explicaremos cómo funciona el motor a medida que lo vamos modificando para crear una nueva animación, preparar vuestro equipo y os espero en el próximo post.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;===========================================================&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: Material necesario&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/22/creando-una-animaci-243-n-en-html5-definiendo-la-animaci-243-n.aspx"&gt;Definiendo la animación&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/27/creando-una-animaci-243-n-en-html5-la-estructura-del-motor.aspx"&gt;La estructura del motor&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/29/creando-una-animaci-243-n-en-html5-primer-fotograma-i-de-ii.aspx"&gt;Primer fotograma (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2010/12/30/creando-una-animaci-243-n-en-html5-primer-fotograma-ii-de-ii.aspx"&gt;Primer fotograma (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/03/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-i-de-ii.aspx"&gt;Moviendo al príncipe (I de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Creando una animación en HTML5: &lt;a href="http://www.windowstecnico.com/archive/2011/01/04/creando-una-animaci-243-n-en-html5-moviendo-al-pr-237-ncipe-ii-de-ii.aspx"&gt;Moviendo al príncipe (II de II)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=3668" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/HTML5/default.aspx">HTML5</category><category domain="http://windowstecnico.com/archive/tags/IE9/default.aspx">IE9</category><category domain="http://windowstecnico.com/archive/tags/Xbox+360/default.aspx">Xbox 360</category><category domain="http://windowstecnico.com/archive/tags/concurso/default.aspx">concurso</category><category domain="http://windowstecnico.com/archive/tags/canvas/default.aspx">canvas</category><category domain="http://windowstecnico.com/archive/tags/sprite+animation+contest/default.aspx">sprite animation contest</category></item></channel></rss>