Files
MoonLaunch/debug_draw.gd
T
2017-09-17 23:04:20 -07:00

51 lines
1.2 KiB
GDScript

# adapted with thanks from code by GDQuest
# http://gdquest.com/
extends Node2D
var colors = {
'BLUE': Color(.216, .474, .702),
'RED': Color(1.0, .329, .298),
'YELLOW': Color(.867, .91, .247),
'GREEN': Color(.054, .718, .247)
}
var WIDTH = 5
var parent = null
func _ready():
parent = get_parent()
set_process(true)
set_process_input(true)
set_hidden(true)
func _input(event):
#if event.is_action_pressed("ui_focus_next"):
# set_hidden(not is_hidden())
pass
func _process(delta):
set_global_rot(0)
update()
func _draw():
draw_arrow(parent.get_linear_velocity(), Vector2(), 1.0, 'YELLOW')
draw_arrow(parent.get_applied_force(), Vector2(), 0.5, 'RED')
func draw_arrow(vector, pos, scale, color):
color = colors[color]
if vector.length() == 0:
return
draw_line(pos * scale, vector * scale, color, WIDTH)
var dir = vector.normalized()
draw_triangle(vector * scale, dir, 10, color)
draw_circle(pos, 5, color)
func draw_triangle(pos, dir, size, color):
var a = pos + dir * size
var b = pos + dir.rotated(2*PI/3) * size
var c = pos + dir.rotated(4*PI/3) * size
var points = Vector2Array([a, b, c])
draw_polygon(points, ColorArray([color]))