Não usei o sprite verde da barra, mas setei a cor dela como verde. Gostaria de saber como posso mudar a barra de vida para vermelho se o jogador estivesse com menos de 30 de vida
Não usei o sprite verde da barra, mas setei a cor dela como verde. Gostaria de saber como posso mudar a barra de vida para vermelho se o jogador estivesse com menos de 30 de vida
Oi, Lucas, essa uma funcionalidade legal.
Você pode usar um sprite de vida todo branco e no image trabalhar com Color que multiplicada cada pixel do sprite para aquela cor. Como o Sprite é branco você pode usar numa boa.
Então via código você pode ir trocando a propriedade color
da imagem da maneira que quiser.
Entendi! Tentei procurar como implementar isso, mas achei apenas maneiras de criar um novo objeto e usa-lo no lugar do anterior, não apenas mudar a sua cor. Como posso usar essa propriedade de color? tentei algo assim (imagino que a sintaxe não esteja correta kkkkk:
void Start()
{
scriptControlaJogador = GameObject.FindWithTag("Jogador").GetComponent<ControlaJogador>();
SliderVidaJogador.maxValue = scriptControlaJogador.Vida;
AtualizarSliderVidaJogador();
SliderVidaJogador.colors(...); //mudar o fill para verde sempre que o jogo reinicia
}
public void AtualizarSliderVidaJogador ()
{
SliderVidaJogador.value = scriptControlaJogador.Vida;
if(scriptControlaJogador.Vida <= 30)
{
SliderVidaJogador.colors(...)//muda o fill para vermelho
}
}
}
Na Hierarquia se você abrir a Slider. Dentro dela vai ter um objeto que tem a imagem da slider o Fill. Você teria que criar uma variável do tipo Image com esse objeto.
public Image slider_image
slider_image.color = Color.red;
Eu começaria assim. Tem outras formas que você pode usar o OnChange da Slider se quiser pesquisar depois