Hello Kyle J144,
I assume that you have one animation, which animates the position of the camera between two positions, right?
So you could make another animation, which changes the property zoom
of the camera to zoom in over time, like you already do with the position.
Then you can attach a script to your parents node, something like this:
# This script could be attached to your camera.
extends Camera2D
# Get a reference to the AnimationPlayer, which is a child of the camera.
onready var anim = $AnimationPlayer
func _ready( ):
# Connects the AnimationPlayer with the signal "animation_finished" to the camera ('self' here)
anim.connect("animation_finished", self, "_on_AnimationPlayer_animation_finished")
func _on_AnimationPlayer_animation_finished(animation):
# Check the name of the animation, which is finished.
# In your case the camera moving animation..
if animation == "my_camera_move_animation":
anim.play("zoom_in")
How it works:
Connect the signal animation_finished
of the AnimationPlayer
to your Node, where this script is attached (self). The signal fires, when the current played animation is finished. Then the method is called, which is specified in the connect function.
See Signals for more information.
_on_AnimationPlayer_animation_finished
checks the name of the animation, which is played before. Make sure to use the right name here! Then tell the AnimationPlayer
to play your "zoom_in" animation (or whatever animation you want to play).
I am completely new to Godot
I really suggest you to go through the Step by step guide from the docs.
Good Luck! :-)