Skip to content

Instantly share code, notes, and snippets.

@Hodes
Created August 10, 2017 19:54
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Hodes/7dfe1e6d314623da0919044b2e32500a to your computer and use it in GitHub Desktop.
Save Hodes/7dfe1e6d314623da0919044b2e32500a to your computer and use it in GitHub Desktop.
Godot Simple Trail Parcticle
extends Node2D
export(int) var track_length = 10
export(int) var update_delay_frames = 0
var track_delay_counter = 0
var track = Vector2Array()
func _ready():
var pos = get_global_transform().get_origin()
for i in range(self.track_length):
self.track.append(pos)
func _init():
set_fixed_process(true)
func _fixed_process(delta):
print('Delta: ', delta)
self.track_delay_counter += delta
var total_time_delay = self.update_delay_frames * get_process_delta_time()
if(self.track_delay_counter >= total_time_delay):
add_position(get_global_transform().get_origin())
self.update()
self.track_delay_counter = 0
func _draw():
self.draw_trail()
func add_position(new_position):
if( self.track.size() == self.track_length ):
self.track.remove(0)
self.track.append(new_position)
func draw_trail():
draw_set_transform( - get_global_transform().get_origin(), 0, Vector2(1,1))
for i in range(self.track_length -1):
draw_line(self.track[i], self.track[i+1], Color(1, 0, 0), 2*i)
draw_line(self.track[self.track_length -1], get_global_transform().get_origin(), Color(1, 0, 0), 2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment