Both sides previous revisionPrevious revisionNext revision | Previous revision |
es:orx:config:settings_structure:orxanim [2012/03/07 13:20 (13 years ago)] – [Detalles] zera | es:orx:config:settings_structure:orxanim [2020/08/19 21:16 (5 years ago)] (current) – Old content sausage |
---|
===== Estructura orxANIMSET ===== | |
| |
==== Sumario ==== | |
| |
=== Animation Set === | |
| |
<code ini>[AnimationSetTemplate] | |
AnimationList = AnimationTemplate1#AnimationTemplate2#... | |
LinkList = LinkTemplate1#LinkTemplate2#... | |
Frequency = <float></code> | |
| |
=== Animation === | |
| |
<code ini>[AnimationTemplate] | |
DefaultKeyDuration = <float> | |
KeyData<N> = GraphicTemplate | |
KeyDuration<N> = <float> | |
KeyEventName<N> = <string> | |
KeyEventValue<N> = <float></code> | |
| |
=== Animation link === | |
| |
<code ini>[LinkTemplate] | |
Source = SourceAnimationTemplate | |
Destination = DestinationAnimationTemplate | |
Priority = <int> | |
Property = immediate | cleartarget</code> | |
| |
| |
==== Detalles ==== | |
| |
=== Animation === | |
| |
Una lista de propiedades disponibles para una animación: | |
* ''AnimationList'': Lista de todas las animaciones (nombres de configuración) que son partes del set(conjunto). Hasta 256 animaciones pueden ser definidas. Esta propiedad //necesita// ser definida. | |
* ''LinkList'': Lista de todos lo enlaces ((un link es una transicion disponible de una animación a otra)) que son parte del set. Hasta 256 enlaces puede ser definidos. Esta propiedad //necesita// ser definida. | |
* ''Frecuency'': Frecuencia relativa que será aplicada a todas las animaciones de ese set cuando son reproducidas. Su valor por defecto es 1.0, que dice que la animacion será reproducida con la sincronización definida en la configuración. | |
| |
=== Animation set === | |
| |
Tenemos aquí una lista de propiedades disponibles para un set de animaciones: | |
* ''DefaultDuration'': Duración por defecto para todas las llaves definidas, en segundos. Esta duración puede ser reemplazada localmente por cualquier llave definida. Por defecto su valor es 0.0 y necesita ser definida a menos que cada llave tenga un valor local. | |
* ''KeyData<N>'': Todas las llaves necesitan ser definidas secuencialmente, empezando con ''KeyData1''. Ninguna brecha es permitida en los números. Para cada llave, el valor es el [[orxGRAPHIC]] que será rendereado cuando el cursor de animación apunta a esa llave, cuando es reproducida. Al menos una llave (''KeyData1'') necesita ser definida. | |
* ''KeyDuration<N>'': Para cualquier llave definida (con ''KeyData<N>''), una duración, en segundos, puede ser especificada. Si ninguna es especificada, la ''LlaveDuraciónPorDefecto''(''DefaultKeyDuration'') será usada. | |
* ''KeyEventName<N>'': Los eventos personalizados se pueden asociar a llaves en animaciones. Permiten sincronizarse con una parte específica de las animaciones. | |
* ''KeyEventValue<N>'': Valor opcional para un evento. Por defecto este valor es 0.0. | |
| |
Ejemplo: | |
| |
<code ini>[MyAnimation] | |
DefaultKeyDuration = 0.1 | |
KeyData1 = MyGraphic1 | |
KeyData2 = MyGraphic2 | |
KeyDuration2 = 0.2; <= esta llave se mostrará el doble de veces que las otras llaves | |
KeyData3 = MyGraphic1; <= Reusando el mismo contenido que para la primera llave | |
... | |
KeyEventName1 = SetSoundVolume | |
KeyEventValue1 = 1.0 | |
KeyEventName2 = SetSoundVolume | |
KeyEventValue2 = 0.0 | |
KeyEventName3 = Explode | |
... | |
</code> | |
| |
=== Animation link === | |
| |
Vemos aquí una lista de propiedades disponibles para un enlace de animación: | |
* ''Source/Destination'': Define la fuente y destino de las animaciones para el enlace, ej. el comienzo y final de una posible transición. Esas propiedades //necesitan// ser definidas. | |
* ''Prioridad'': Define la prioridad de este enlace, en el rango de 0(menor) a 15(mayor). Prioridades son generalmente usadas para definir transiciones por defecto cuando no hay animaciones especificadas para el correspondiente objeto. Por defecto el valor es 8, que significa una prioridad media. | |
* ''Property'': Define la propiedad de un enlace, el puede ser ''inmediato''(''immediate''), ''cleartarget''(?). Si un enlace es ''immediate'' quiere decir que la transición ocurrirá inmediatamente en lugar de esperar a que el final de la animación de origen tome lugar. Si un enlace es ''cleartarget'' significa que va a restablecer la animación del objeto de destino actual, cuando el enlace se utiliza. Por defecto ninguna de estas propiedades son definidas, lo cual explica que la transición ocurrirá //después// de la fuente de la animación fue completamente reproducida y no restablecerá el objetivo actual del objeto. | |
| |
Ejemplo: | |
<code ini>[LinkSitAnimLoop] | |
Source = SitAnim | |
Destination = SitAnim | |
Priority = 15; <= esta es nuestra transición escogida si ninguna animación es solicitada, este es un ciclo para siempre =) | |
| |
[LinkSitToStandUp] | |
Source = SitAnim | |
Destination = StandUpAnim | |
Property = immediate; <= esto significa que no esperaremos por el final del ciclo de SitAnim antes de lanzar StandUpAnim | |
| |
[LinkStandUpToRun] | |
Source = StandUpAnim | |
Destination = RunAnim</code> | |
| |
Ahora en el código, si estamos reproduciendo la animación ''SitAnim'' y emitimos | |
| |
<code c>orxObject_SetTargetAnim(MyHero, "RunAnim");</code> | |
| |
MyHero primero reproducirá inmediatamente la animación ''StandUpAnim'' y entonces irá a por la animación ''RunAnim'' sin tener que esperar por ningún mensaje de animación ni nada. Puedes escuchar por el evento ''orxEVENT_TYPE_ANIM'' si quieres ser notificado cuando una transición ocurra. | |
| |
Entre dos animaciones, el camino calculado tomará el enlace de más alta prioridad en cada paso y si dos enlaces con la misma prioridad son encontrados, el tomará entonces el que tenga el camino más corto (ej. la menor cantidad de enlaces necesarios para llegar a su destino). | |
| |
**PD: Si no te sientes a gusto con este [[http://es.wikipedia.org/wiki/Grafo|sistema de gráfo]], todavía se puede definir todas las animaciones por separado y luego hacer todas las transiciones de forma manual cada vez que ha sido la animación actual reproducida completamente.** | |
| |