extends Area2D @onready var sprite: Sprite2D = $sprite @onready var splash: CPUParticles2D = $splash var linear_velocity := Vector2.ZERO var _p0 := Vector2.ZERO func _ready() -> void: _p0 = position rotation = linear_velocity.angle() - .5 * PI func _physics_process(dt: float) -> void: linear_velocity.y += 1000.0 * dt rotation = linear_velocity.angle() - .5 * PI position += linear_velocity * dt if position.y > 2048: queue_free() func _on_area_entered(_area: Area2D) -> void: linear_velocity = Vector2.ZERO set_physics_process(false) sprite.visible = false splash.amount = 2 + int(roundf(2.0 * randf())) splash.emitting = true get_tree().create_timer(splash.lifetime).timeout.connect(queue_free)