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

GameObject

olá, Meu GameObject esta dando erro.

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

public class Bala : MonoBehaviour {

    public float Velocidade = 20;

    // Update is called once per frame
    void FixedUpdate () {
        GetComponent<Rigidbody>().MovePosition
            (GetComponent<Rigidbody>().position + 
            transform.forward * Velocidade * Time.deltaTime);


    }

    void OnTriggerEnter(Collider objetoDeColisao)
    {
        if (objetoDeColisao.tag == "Inimigo")
        {
            Destroy(objetoDeColisao.GameObject);
        }

        Destroy(gameObject);

    }
}

Erro: Assets\Scripts\Bala.cs(20,33): error CS1061: 'Collider' does not contain a definition for 'GameObject' and no accessible extension method 'GameObject' accepting a first argument of type 'Collider' could be found (are you missing a using directive or an assembly reference?)

1 resposta
solução!

Oi, Paulo, tudo bem?

Note que a linha que aparece o erro parece ser essa certo?

Destroy(objetoDeColisao.GameObject);

Lembra que o Transform é diferente de transform? Um é a classe o outro é o transform da instancia que tem o seu script?

É a mesma coisa, quando queremos passar do Collider para o GameObject nós queremos a instancia e não a Classe, então seria:

Destroy(objetoDeColisao.gameObject);

Vi que estava errado na transcrição e já vou alterar, dê uma olhada na atividade seguinte porque eu coloco uns resumos bem detalhados dos códigos :)

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