BlockDestructionParticles.gd 710 B

12345678910111213141516171819
  1. extends Node2D
  2. @onready var particles := [$TL, $TR, $BL, $BR]
  3. var particle_directions := [Vector2(-1, -3), Vector2(1, -3), Vector2(-1, -1), Vector2(1, -1)]
  4. var particle_velocities := [Vector2.ZERO, Vector2.ZERO, Vector2.ZERO, Vector2.ZERO]
  5. var particle_rotations := [0.0, 0.0, 0.0, 0.0]
  6. func _ready() -> void:
  7. for i in 4:
  8. particle_velocities[i] = 70 * particle_directions[i]
  9. func _physics_process(delta: float) -> void:
  10. for i in 4:
  11. particles[i].global_position += particle_velocities[i] * delta
  12. particle_velocities[i] += Vector2(0, 15 / delta) * delta
  13. particle_rotations[i] += (1080 * particle_directions[i].x) * delta
  14. particles[i].global_rotation_degrees = snapped(particle_rotations[i], 90)