Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Como fazer uma barra de vida com efeito simples e bonito na Godot
- 1- Para esse efeito eu preciso de 2 ProgressBar (1 vermelho com o background vazio e 1 branco com background e esse fica por baixo do vermelho).Vou adicionar também um timer,setar o tempo dele em 0.5 e marcar a opção OneShot.
- OBS - funciona de forma simples: Toda vez que eu diminuir o valor da ProgressBar VERMELHA eu também diminui o valor da ProgressBar BRANCA, porém com um pequeno atraso.
- 2- Segue o Script que controla as 2 ProgressBar
- extends CanvasLayer
- @onready var progress_bar = $ProgressBar
- @onready var progress_bar_2 = $ProgressBar2
- @onready var timer = $Timer
- var dano = 5
- var value:float = 100 # ISSO TEM QUE SER IGUAL AO MAX_VALUE DA PROGRESSBAR
- var value2:float = 100 # ISSO TEM QUE SER IGUAL AO MAX_VALUE DA PROGRESSBAR
- func _input(event):
- if event.is_action_pressed("ui_espaco"):
- value = progress_bar.value - dano
- timer.start()
- func _physics_process(delta): #Isso apenas é para fazer a transição do valor não ser algo tão brusca.
- progress_bar.value = lerp(progress_bar.value, value, 0.1)
- progress_bar_2.value = lerp(progress_bar_2.value, value2, 0.1)
- if(progress_bar.value - value <= 0.5):
- progress_bar.value = value
- if(progress_bar_2.value - value2 <= 0.5):
- progress_bar_2.value = value2
- # print(value)
- # print(progress_bar.value)
- func _on_timer_timeout(): # sinal timeout do timer
- value2 = value
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement