extends Node2D
export var MAX_LENGTH = 20
export var THICKNESS = 2.0
var points = []
var frame = 0
func _physics_process(_delta):
if frame % 3 == 0:
points.push_front(global_position)
if points.size() > MAX_LENGTH:
points.pop_back()
frame += 1
update()
func _draw():
if points.size() < 2:
return
var antialias = false
var c = modulate
var s = float(points.size())
var adjusted = PoolVector2Array()
var colors = PoolColorArray()
for i in range(s):
adjusted.append(points[i] - global_position)
c.a = lerp(1.0, 0.0, i / s)
colors.append(c)
draw_set_transform(Vector2.ZERO, -get_parent().rotation, Vector2(1, 1))
draw_polyline_colors(adjusted, colors, THICKNESS, antialias)