using Godot; public partial class DropMover : Node { public float ySpeed = -200.0f; public float xSpeed = 150.0f; private float stop_y; private Node2D parent; private Vector2 velocity; private float gravity; public override void _Ready() { parent = GetParent(); stop_y = ((parent.GlobalPosition / FieldParams.Tile).Ceil() * FieldParams.Tile).Y; gravity = (float)ProjectSettings.GetSetting("physics/2d/default_gravity"); velocity = new Vector2((GD.Randf()-0.5f)*xSpeed,ySpeed); } public override void _Process(double delta) { if (parent.GlobalPosition.Y >= stop_y) QueueFree(); velocity += Vector2.Down * gravity * (float)delta; parent.GlobalPosition += velocity * (float)delta; } }