class_name Ball extends RigidBody2D export (Color) var interrupt_color = Color.white const BRICK_LAYER = 2 const INTERRUPT_SPEED = 700 var last_normal:Vector2 = Vector2(0.0, 0.0) func interrupt_ball(): modulate = interrupt_color go_down_unstopped() func go_down_unstopped(): linear_velocity.y = INTERRUPT_SPEED linear_velocity = linear_velocity.normalized() * INTERRUPT_SPEED set_collision_mask_bit(BRICK_LAYER, false) func _on_Launcher_interrupt_wave(): interrupt_ball() func _on_Ball_body_exited(body: Node): if body.has_method("impact"): body.impact(position)