A ver, eso hay dos formas de hacerlo, dependiendo de como sea tu juego:
1. Si el juego es 2,5D pues tendrás un actor, con sus animaciones dentro de un .x y tendrás que hacer un PlayAnim("nombre") o un PlayAnimAsync("nombre"),
2. Si el juego es 2D, se te pueden dar dos casos, o bien la animación la hace un actor, o bien una entity que tiene un sprite
En el caso de que sea un actor:
por ejemplo le das a usar interruptor y el actor va hasta el interruptor y alli quieres que haga una animación para que lo pulse.
Debes tener la animación hecha como un sprite con sus fotogramas y tal.
En el script del objeto interruptor, en el evento onTake:
- Te vas hasta el interruptor: actor.GoTo(posicionx,posiciony);
- Te pones en la posición correcta: actor.Direction(DIRECCION);
- Haces la animación: actor.PlayAnim(sprite_pulsar.sprite);
Y listo.
Ahora imagina que quieres que una entity haga una animación cuando haces una acción, por ejemplo, hay un ascensor que cuando pulso el interruptor quiero que se abra la puerta.
En este caso debes tener un sprite con la animacion del actor pulsando y otro con la animación de la puerta del ascensor, asi como la imagen de la puerta en sus dos estados, abierta y cerrada.
En la escena tendrás una entidad que se llama "puerta_ascensor" con el sprite con la imagen de la puerta cerrada. Aparte tendrás el sprite de la puerta abierta.
En el script del objeto interruptor, en el evento onTake:
- Te vas hasta el interruptor: actor.GoTo(posicionx,posiciony);
- Te pones en la posición correcta: actor.Direction(DIRECCION);
- Haces la animación del actor: actor.PlayAnim(sprite_pulsar.sprite);
Hasta aqui es como antes, el actor va hasta el interruptor y lo pulsa.
- Cogemos la referencia del ascensor que esta en la escena: var ascensor = Scene.GetNode("puerta_ascensor");
- Reproducimos la animación de la puerta abriendose: ascensor.PlayAnim("abre_puerta.sprite");
- Dejamos la entidad con la puerta abierta: ascensor. SetSprite("puerta_abierta.sprite");
Luego a partir de aqui ya lo complicas lo que quieras, con un temporizador que al cabo de un rato cierre la puerta o haces que el actor ande hacia la puerta y cambias de escena como si tomase el ascensor o cosas así.
Dale una vuelta a la ayuda en el apartado actor y entities, porque ahi lo explica todo superbien.