Randoloot/scripts/game/muzzle_flash.gd
2026-10-13 19:49:14 +02:00

22 lines
682 B
GDScript

extends Node2D
var _age := 0.0
const DURATION := 0.075
func _ready() -> void:
z_index = 25
func _process(delta: float) -> void:
_age += delta
if _age >= DURATION:
queue_free()
else:
queue_redraw()
func _draw() -> void:
var fade := 1.0 - _age / DURATION
draw_circle(Vector2.ZERO, 12 * fade, Color(1.0, 0.48, 0.08, 0.18 * fade))
draw_colored_polygon(PackedVector2Array([Vector2(-2, -3), Vector2(8, -2), Vector2(19, 0), Vector2(8, 2), Vector2(-2, 3)]), Color(1.0, 0.7, 0.18, fade))
draw_line(Vector2(-2, 0), Vector2(13 * fade, 0), Color(1.0, 0.97, 0.8, fade), 2, true)
draw_line(Vector2(1, -7 * fade), Vector2(1, 7 * fade), Color(1.0, 0.78, 0.3, fade * 0.7), 1, true)