Animación
Eventos: generación y recepción
65
Un evento es un mensaje enviados entre nodos, con
El valor de un dato
El instante de tiempo en que se envía el evento
Cada nodo tiene
field
<tipo>
<nombre_campo>
campo donde se almacena el valor de un dato
eventIn
<tipo>
<nombre_eventIn>
evento de entrada
eventOut
<tipo>
<nombre_eventOut>
evento de salida
exposedField
<tipo>
<nombre_campo>
campo que equivale a
field
<tipo>
<nombre_campo>
,
eventIn
<tipo>
set_
<nombre_campo>
eventOut
<tipo>
<nombre_campo>
_changed
Para hacer un circuito de animación se necesitan
Un nodo nombrado (
DEF
<nombre_nodo_sender>
)
que envíe un
eventOut
Un nodo nombrado (
DEF
<nombre_nodo_receiver>
)
que reciba un
eventIn
Una sentencia
ROUTE
que conecte los dos nodos
ROUTE
<nombre_nodo_sender>
.
<nombre_eventOut>
TO
<nombre_nodo_receiver>
.
<nombre_eventIn>
Se puede tener múltiples
ROUTE
desde o hacia un nodo (
fan-out
y
fan-in
)
Ejemplos de eventos de entrada:
Un nodo
Transform
tiene
set_translation, set_rotation, set_scale
Un nodo
Material
tiene
set_diffuseColor, set_emissiveColor, set_transparency
Ejemplos de eventos de salida:
Un nodo
OrientationInterpolator
tiene
value_changed
para enviar valores de rotación
Un nodo
PositionInterpolator
tiene
value_changed
para enviar valores de traslación
Un nodo
TimeSensor
tiene
time
para enviar valores de tiempo
Ejemplos de
ROUTE
:
Para rotar una forma, conectar un nodo que envíe eventos de rotación al campo
rotation
de un nodo
Transform
Para que una forma parpadee, conectar un nodo que envíe eventos de color al campo
diffuseColor
de un nodo
Material