Icono del sitio El Profe Alegría

29-Animaciones SVG

Podemos crear animaciones de elementos SVG en HTML5, las animaciones se ejecutan en un tiempo y pueden cambiar alguna propiedad del elemento en cuestión.

Etiqueta <animate>

La etiqueta <animate> contiene la animación propiamente dicha, mediante atributos podemos establecer las características de la animación. Por otro lado la etiqueta <animate> irá dentro del elemento SVG que deseamos animar.

Por ejemplo, si deseamos poner animación a un elemento SVG de rectángulo, entonces la etiqueta <animate> irá de la siguiente manera:

<svg>
<rect>
   <animate /> 
</rect>
</svg>

Atributos para <animate>

Ejemplos de animación SVG

Ejemplo 1.- Nuestro primer ejemplo consiste en hacer que un circulo SVG cambie de posición en dirección Horizontal (X) desde el extremo 0 hasta 400px en sentido horizontal.

<svg width="1000" height="250">
   <circle cx="120" cy="150" r="80" fill="red">
   <animate attributeName="cx" from="0" to="300"
      dur="4s" fill="freeze" repeatCount="3"/> 
  </circle>
</svg>

Nuestra animación indica de que el atributo a animar o modificar es el CX o el centro en X, desde la posición 0 hasta la posición 300 en X, la duración es de 4 segundos y debe repetirse 3 veces y mediante la propiedad fill dentro de estamos indicando que al final de todo, se quede en posición final de la animación.

Ejemplo 2.- en este ejemplo haremos que el color de relleno de un rectángulo cambie desde un rojo (from=»red») a un azul, en un tiempo de 5 segundos (dur=»5s») y que se repita 4 veces (repeatCount=»4″).

<svg width="400" height="250">
<rect width="150" height="150" fill="green">
   <animate attributeName="fill" from="red" to="blue"
      dur="5s" fill="remove" repeatCount="4"/> 
</rect>
</svg>

En este caso removeremos la animación (fill=»remove») cuando haya terminado, de tal manera que al final, nuestro rectángulo quede con su color original, en este caso el verde (green).

No te olvides de compartir en...
Salir de la versión móvil