Files
fps_project_1/scripts/3D Health Bar.gd

26 lines
855 B
GDScript

extends Control
@onready var sub_viewport: SubViewport = $".."
@onready var health_bar_sprite: Sprite3D = $"../.."
var center = Vector2.ZERO
var current_health : float
const MARGIN = 20
func _ready() -> void:
center = Vector2(sub_viewport.size.x/2,sub_viewport.size.y/2)
func _draw() -> void:
print("CHARACTER HEALTH : ")
var health_percentage : float = health_bar_sprite.character.health/health_bar_sprite.character.start_health
#background
draw_line(Vector2(0,center.y),Vector2(sub_viewport.size.x,center.y),Color(.5,.5,.5,.75),MARGIN * 2,true)
#health
for i in range(health_bar_sprite.character.health):
var width = sub_viewport.size.x / health_bar_sprite.character.start_health
var from = width * i + MARGIN/2
var to = width * (i+1) - MARGIN/2
draw_line(Vector2(from,center.y),Vector2(to,center.y),ColorSwatch.RED_COLOR,30,true)