3
respostas

Erro

apareceu esses erros no Unity: Assets\Scripts\controlainimigo.cs(48,9): error CS0120: An object reference is required for the non-static field, method, or property 'Component.GetComponent()' e Assets\Scripts\controlainimigo.cs(49,9): error CS0120: An object reference is required for the non-static field, method, or property 'Component.GetComponent()'. Não estou conseguindo resolver.

link do arquivo: https://www.dropbox.com/s/ufn1oqs4baz53zs/apocalipse-zumbi-alura.rar?dl=0

3 respostas

Oi, Jonas, tudo bem?

Pode colar o script de controlainimigo aqui?

Aqui,professor.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class controlainimigo : MonoBehaviour
{
    public GameObject jogador;
    public float velocidade = 5;
    // Start is called before the first frame update

    void Start()
    {

    }

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

    }
    void FixedUpdate()
    {
        float distancia = Vector3.Distance(transform.position,jogador.transform.position);

        Vector3 direcao = jogador.transform.position - transform.position;

        Quaternion novarotação = Quaternion.LookRotation(direcao);

        GetComponent<Rigidbody>().MoveRotation(novarotação);
        if(distancia > 2.5)
        {
        GetComponent<Rigidbody>().MovePosition(GetComponent<Rigidbody>().position + direcao.normalized * velocidade * Time.deltaTime);

        GetComponent<Animator>().SetBool("atacando",false);
         }

    else
    {
        GetComponent<Animator>().SetBool("atacando",true);

    }
    }

    void atacajogador()
    {
        Time.timeScale = 0;
        Jogador.GetComponent<Jogador>().TextoGameOver.setActive(true);
        Jogador.GetComponent<Jogador>().Vivo = false;
    }
}

Oi, Jonas, tudo bem?

Parece no método atacajogador as variáveis Jogador estão em maiúsculo mas na declaração e no resto do script está tudo minúsculo.

Será que é isso?