Share via


Trabajar con animaciones

En este tema se describe la clase Open XML SDK for Office Animate y cómo se relaciona con el esquema PresentationML de formato de archivo Open XML. Para más información sobre la estructura general de los elementos que conforman un documento PresentationML, vea Estructura de un documento PresentationML.

Animación en PresentationML

La especificación ISO/IEC 29500 describe la sección de animación del marco PresentationML de Office Open XML de la siguiente forma:

La sección de animación del marco PresentationML almacena el movimiento y la información relacionada de los objetos. Este esquema se basa ligeramente en la sintaxis y los conceptos del lenguaje SMIL, una recomendación de W3C para describir presentaciones multimedia mediante XML. El esquema describe todos los efectos de animación que residen en una diapositiva y también la animación que se produce al pasar de una diapositiva a otra (transición de diapositivas). Las animaciones de una diapositiva están intrínsecamente basadas en el tiempo y constan de efectos de animación en un objeto o texto. Sin embargo, las transiciones de diapositivas no siguen este concepto y siempre aparecen antes que cualquier animación en una diapositiva. Todos los elementos descritos en este esquema se encuentran en el archivo XML de la diapositiva. Más específicamente están en la <transición> y en el <elemento timing> , como se muestra a continuación:

<p:sld>  
    <p:cSld> … </p:cSld>  
    <p:clrMapOvr> … </p:clrMapOvr>  
    <p:transition> … </p:transition>  
    <p:timing> … </p:timing>  
</p:sld>

La animación consta de varios comportamientos, el más básico de los cuales es el comportamiento de Animate, representado por el <elemento anim> . La especificación ISO/IEC 29500 describe el elemento anim> PresentationML <de Open XML que se usa para representar el comportamiento de animación básico en un documento PresentationML de la siguiente manera:

Este elemento es un elemento de animación genérico que requiere poca o ninguna comprensión semántica del atributo que se está animando. Puede animar texto dentro de una forma o incluso la propia forma. [Ejemplo: considere la posibilidad de intentar enfatizar el texto dentro de una forma cambiando el tamaño de su fuente en un 150 %. El <elemento anim> debe usarse de la siguiente manera:

<p:anim to="1.5" calcmode="lin" valueType="num">  
    <p:cBhvr override="childStyle">  
        <p:cTn id="1" dur="2000" fill="hold">  
        <p:tgtEl>  
            <p:spTgt spid="1">  
                <p:txEl>  
                    <p:charRg st="1" end="4">  
                </p:txEl>  
            </p:spTgt>  
        </p:tgtEl>  
        <p:attrNameLst>  
            <p:attrName>style.fontSize</p:attrName>  
        </p:attrNameLst>  
    </p:cBhvr>  
</p:anim>

En la tabla siguiente se enumeran los elementos secundarios del <elemento anim> que se usan al trabajar con animaciones y las clases del SDK de Open XML que se corresponden con ellos.

Elemento de PresentationML Open XML SDK (clase)
<cBhvr> CommonBehavior
<tavLst> TimeAnimateValueList

En la tabla siguiente de la especificación ISO/IEC 29500 se describen los atributos del <elemento anim> .

Atributos Descripción
Por Este atributo especifica un valor de desplazamiento relativo para la animación con respecto a su posición antes del inicio de la animación. Los valores posibles para este atributo se definen mediante el tipo de datos de cadena de esquema XML W3C.
calcmode Este atributo especifica el modo de interpolación de la animación. Los valores posibles para este atributo se definen mediante el ST_TLAnimateBehaviorCalcMode tipo simple (§19.7.20).
from Este atributo especifica el valor inicial de la animación. Los valores posibles para este atributo se definen mediante el tipo de datos de cadena de esquema XML W3C.
a Este atributo especifica el valor final de la animación como porcentaje. Los valores posibles para este atributo se definen mediante el tipo de datos de cadena de esquema XML W3C.
valueType Este atributo especifica el tipo de valor de propiedad. Los valores posibles para este atributo se definen mediante el ST_TLAnimateBehaviorValueType tipo simple (§19.7.21).

Clase Animate del SDK de Open XML

La clase Animate del SDK de OXML representa el <elemento anim> definido en el esquema de formato de archivo Open XML para documentos PresentationML. Use la clase Animate para manipular elementos anim> individuales <en un documento PresentationML.

Las clases que representan elementos secundarios del <elemento anim> y que, por lo tanto, se asocian normalmente a la clase Animate se muestran en la lista siguiente.

Clase CommonBehavior

La clase CommonBehavior corresponde al <elemento cBhvr> . La siguiente información de la especificación ISO/IEC 29500 presenta el <elemento cBhvr>:

Este elemento describe los comportamientos comunes de las animaciones.

Considere la posibilidad de intentar enfatizar el texto dentro de una forma cambiando el tamaño de su fuente. El <elemento anim> debe usarse de la siguiente manera:

<p:anim to="1.5" calcmode="lin" valueType="num">  
    <p:cBhvr override="childStyle">  
        <p:cTn id="6" dur="2000" fill="hold">  
        <p:tgtEl>  
            <p:spTgt spid="3">  
                <p:txEl>  
                   <p:charRg st="4294967295" end="4294967295"/>  
                </p:txEl>  
           </p:spTgt>  
        </p:tgtEl>  
        <p:attrNameLst>  
            <p:attrName>style.fontSize</p:attrName>  
        </p:attrNameLst>  
    </p:cBhvr>  
</p:anim>

Clase TimeAnimateValueList

La clase TimeAnimateValueList corresponde al <elemento tavLst> . La siguiente información de la especificación ISO/IEC 29500 presenta el <elemento tavLst> :

Este elemento especifica una lista de elementos de valor animado de tiempo.

Ejemplo: considere la posibilidad de una forma con una animación "fly-in". El <elemento tav> debe usarse de la siguiente manera:

<p:anim calcmode="lin" valueType="num">  
    <p:cBhvr additive="base"> … </p:cBhvr>  
    <p:tavLst>  
        <p:tav tm="0">  
            <p:val>  
                <p:strVal val="1+#ppt_h/2"/>  
            </p:val>  
        </p:tav>  
        <p:tav tm="100000">  
            <p:val>  
                <p:strVal val="#ppt_y"/>  
            </p:val>  
        </p:tav>  
    </p:tavLst>  
</p:anim>

Trabajar con la clase Animate

Por lo tanto, la clase Animate , que representa el <elemento anim> , también está asociada a otras clases que representan los elementos secundarios del <elemento anim> , incluida la clase CommonBehavior , que describe comportamientos de animación comunes, y la clase TimeAnimateValueList , que especifica una lista de elementos de valor animado por tiempo, como se muestra en el código XML anterior. Otras clases asociadas a la clase Animate son la clase Timing , que especifica la información de tiempo de todas las animaciones de la diapositiva, y la clase TargetElement , que especifica los elementos secundarios de destino a los que se aplican los efectos de animación.

Vea también

Acerca del SDK de Open XML para OfficeHow to: Create a Presentation by Providing a File NameHow to: Insert a new slide into a presentationHow to: Delete a slide from a presentationHow to: Apply a theme to a presentation