Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

2. Construindo a torre e disparando mísseis video 6

coloquei o script conforme o professor ensinou , mas o meu disparo continua indo somente pra frente ,

using UnityEngine;
using System.Collections;

public class Missel : MonoBehaviour {

    private float velocidade = 10;
    private GameObject alvo;

    void start(){

        alvo = GameObject.Find ("Inimigo");
    }
    //chamado a cada frame
    void Update () {
        Anda ();
        AlteraDirecao ();
    }

    public void Anda (){


        //DISPARO DO MISSEL
        Vector3 posicaoAtual = transform.position;
        Vector3 deslocamento = transform.forward * Time.deltaTime  * velocidade;
        transform.position = posicaoAtual + deslocamento;


    }

    private void AlteraDirecao(){

        //MISSEL VIRA PARA A POSICAO DO ALVO 
        Vector3 posicaoAtual = transform.position;
        Vector3 posicaoDoAlvo = alvo.transform.position;
        Vector3 direcaoDoAlvo = posicaoDoAlvo - posicaoAtual;

        transform.rotation = Quaternion.LookRotation (direcaoDoAlvo);

    }
}

Parece que ele nao está encontrando o ALVO(inimigo)

aparece o seguinte error :

NullReferenceException: Object reference not set to an instance of an object
Missel.AlteraDirecao () (at Assets/Scripts/Missel.cs:34)
Missel.Update () (at Assets/Scripts/Missel.cs:16)
2 respostas
solução!

Olá Fernando,

Você precisa alterar o nome do seu método de start para Start com o S maiúsculo. O Unity faz a busca desse método pelo nome e essa busca é case-sensitive, isto é, start e Start são considerados métodos diferentes.

Como ele está buscando o método Start e não está encontrando, então a parte do código que busca o alvo e armazena no atributo alvo não está sendo executada e portanto na hora de virar o míssel não tem a referência do inimigo para mirar.

obrigado mano , era isso mesmo , fiquei algumas horas tentando resolver e nada , até cheguei a refazer o script achando que tinha bugado ^^

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software