2010-09-02 11 views
26

tengo secuencia de animationTransform:Cómo secuenciar la secuencia de animación SVG?

<animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0" to="30" begin="0s" dur="0.4s" fill="freeze"/> 
<animateTransform attributeName="transform" attributeType="XML" type="rotate" from="30" to="0" begin="0.4s" dur="0.4s" fill="freeze"/> 

Si posible bucle de esta secuencia sin necesidad de utilizar la escritura?

Puedo configurar la animación individual en bucle usando repeatCount="indefinite" por Quiero bucle toda la secuencia en orden.

Respuesta

34

Ya lo pensé. Solución para aquellos que estén interesados:

<animateTransform id="anim1" attributeName="transform" attributeType="XML" type="rotate" from="0" to="30" begin="0s; anim2.end" dur="0.4s" fill="freeze"/> 
<animateTransform id="anim2" attributeName="transform" attributeType="XML" type="rotate" from="30" to="0" begin="anim1.end" dur="0.4s" fill="freeze"/> 
+1

Trabaja en (oold) Firefox 10, no funciona en (arriba-hasta la fecha) Chrome 32, solo si alguien se encuentra con el mismo problema. Y algunos enlaces útiles que describen todas las capacidades del tiempo de animación: [W3C SVG 1.1 Spec.] (Http://www.w3.org/TR/SVG/animate.html#TimingAttributes), [Developer.Mozilla.org] (https : //developer.mozilla.org/en-US/docs/Web/SVG/Attribute/begin). – Jeyekomon

+0

Puede confirmar que esto no funciona en Chrome 34. – hamishtaplin

27

Puede también acaba de bucle dentro de una sola animateTransform proporcionando un atributo values con un punto y coma lista separada por:

<animateTransform attributeName="transform" type="rotate" 
    values="0;30;0" begin="0s" dur="0.8s" fill="freeze" 
    repeatCount="indefinite" /> 

Here's an example (comprobado en Firefox 4.0 y Cromo).

+0

Me encanta esta solución. ¿Podría recomendar dónde encontrar la documentación del atributo SVG animateTransform 'values'? Desafortunadamente, es una palabra bastante común para una búsqueda web común. ¡Gracias! – jtheletter

+2

@janaspage Acabo de tropezar con la documentación para el atributo de valores aquí: http://www.w3.org/TR/smil-animation/#ValuesAttribute – chrisM

6

también es posible añadir/restar (mili) segundos:

begin="anim2.end-500ms" 
Cuestiones relacionadas