Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

erro na bara de vida

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//pega a parte de cenas gerenciamento
using UnityEngine.SceneManagement;

public class controledojp : MonoBehaviour, Imatavel
{   
    //mascara tudo menos o chao 
    public LayerMask chaocamada;

    public GameObject textdefim;

    private Vector3 direcao;

    public controlainterface scriptdecontrolainterface;

    public AudioClip SomDeDano;

    private movijogador meumovimentojg;

    private animacaopersona minhaanimacao;

    private movimentapersona meumovimento;

    public status statusdojp;

    private void Start()
    {
        //timescale e a escala de tempo do jogo 
        //por padra e 1 mas pode alterar e fazer pasar mais rapido ou pausar
        Time.timeScale = 1;

        meumovimentojg = GetComponent<movijogador>();

        minhaanimacao = GetComponent<animacaopersona>();

        meumovimento = GetComponent<movimentapersona>();

        statusdojp = GetComponent<status>();
    }

    // Update is called once per frame
    void Update()
    {
        //getaxis pega um eixo vai pegar o eixo x
        float eixoX = Input.GetAxis("Horizontal");

        //getaxis pega um eixo vai pegar o eixo z
        float eixoz = Input.GetAxis("Vertical");

        //vector3 tem os eixos, forward pega um eixo so
        direcao = new Vector3(eixoX,0,eixoz);

        //magnitude significa o tamanho dele pega o tamanho e soma eles ex 1x 0y 0z o valor fica 1
        minhaanimacao.movimentarjg(direcao.magnitude);

        if(statusdojp.vida <= 0)
        {
            if(Input.GetButtonDown("Fire1"))
            {
                //scenemanager gerenciador de cena load scene para recaregar a cena
                SceneManager.LoadScene(0);
            }
        }
    }
    //o fixedupdate roda diferente do update ele roda a cada 0.01
    void FixedUpdate()
    {
        meumovimento.movimenta(direcao,statusdojp.velocidade);

        meumovimentojg.rotacaojogador(chaocamada);
    }

    public void tiravida(int dano)
    {
        statusdojp.vida -= dano;

        scriptdecontrolainterface.atualislidervida();

        //vai no script de controlaaudio vai na var instancia e pega um metodo do audiosource playoneshot que toca o som 1 vez
        controlaaudio.instancia.PlayOneShot(SomDeDano);

        if(statusdojp.vida <= 0)
        {
            morer();
        }
    }

    public void morer()
    {
        //timescale e a escala de tempo do jogo 
        //por padra e 1 mas pode alterar e fazer pasar mais rapido ou pausar
        Time.timeScale = 0;

        //setactive usado para desavivar ou atvar algo
        textdefim.SetActive(true);
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//pega a parte de interface
using UnityEngine.UI;

public class controlainterface : MonoBehaviour
{
    //isso aqui e uma variavel
    private controledojp scriptcontrolajogador;

    // um valor tipo slider que vai receber 
    public Slider Slidervidajogador;

    // Start is called before the first frame update
    void Start()
    {
        //vai no jogador no componente controledojp 
        scriptcontrolajogador = GameObject.FindWithTag("jogador").GetComponent<controledojp>();

        //o slider max value recebe a vida de jogador
        Slidervidajogador.maxValue = scriptcontrolajogador.statusdojp.vida;
    }

    // Update is called once per frame
    void Update()
    {

    }

    public void atualislidervida()
    {
        Slidervidajogador.value = scriptcontrolajogador.statusdojp.vida;
    }
}

`Insira aqui a descrição dessa imagem para ajudar na acessibilidadeusing System.Collections; using System.Collections.Generic; using UnityEngine;

public class status : MonoBehaviour { public int vidainicial = 100;

//hideinspector esconde no espetor a var
[HideInInspector]
public int vida;

public float velocidade = 5;

void Start()
{
    vida = vidainicial;
}

}

`

1 resposta
solução!

resolvido na parte 4 das aulas