You’re correct that most of the code should be in _on_timeout
, spawning the object should be there. The movement part needs to be a part of a new script, attached to the spawned object. Attach a script like this to all the spawnable objects, you could even do this through code if they don’t already have scripts.
extends Node2D
var speed: float = 100
func _process(delta: float) -> void:
self.position.y += speed * delta