Animation - mgea/godot GitHub Wiki
Hay dos modos de animación:
AnimationPlayer
- crea un nodo con linea de tiempo que establece animación por interpolación entre keyframesAnimatedSprite2D
- crea un ciclo de animación partiendo de una lista de sprites (o de una spritesheet)
AnimationPlayer
https://docs.godotengine.org/en/latest/tutorials/animation/introduction.html
Control de animación con el panel en el que se maneja con keyframes
En animationPlayer
es un nodo
https://www.youtube.com/watch?v=V9kshvtj6s0
Si se quiere usar la animación creada, se puede asociar a un nodo a través de un script (gdscript).
- En el caso del nodo
AnimationPlayer
, se puede poner directamente la funciónplay()
- Se puede usar desde otros nodos llamando al objeto de animación ``$AnimationPlayer.play()```
Funciones disponibles para control de animación (https://docs.godotengine.org/en/stable/classes/class_animationplayer.html)
pause()
play()
stop()
Animaciones anidadas con animationPlayer (tips)
Cuando se usa animationPlayer con nodos en jerarquía, se guarda toda la animación con posiciones absolutas. Simplifica su manejo pero no permite reutilizarlas.
Para ello, un consejo es sacar de la jerarquía los nodos que se van a animar (y de este modo se hacen con posicionamiento relativo)
Ejemplos
AnimationSprite2D
Animación 2D usando sprites.
Info: https://docs.godotengine.org/en/stable/tutorials/2d/2d_sprite_animation.html
Ejemplo: https://github.com/mgea/godot/tree/main/animatedSprite_basic
Crear nodo AnimatedSprite2D
Hay que usar un spritesheet con todos los movimientos del personaje
Funciones disponibles para control de animación (https://docs.godotengine.org/en/stable/classes/class_animationplayer.html)
pause()
play("animation")
stop()