- Home /
Object error
I'm trying to create a mission for my fps game. You need to find 12 bombs. I can easily pick up 1 bomb but after that it gives me an error saying:
"The object of type 'Transform' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object."
Hope you guys can help. :/
Here is the code:
using UnityEngine;
using System.Collections;
public class bombCollect : MonoBehaviour
{
public Transform note;
public AudioClip bombGrab;
public int bombWin = 0;
void Update ()
{
RaycastHit hit;
var fwd = transform.TransformDirection (Vector3.forward);
if (Input.GetKey(KeyCode.E)) {
if (Physics.Raycast(transform.position, fwd, out hit, 3)) {
if (hit.collider.gameObject == bomb.gameObject) {
Debug.Log ("bomb grabbed!");
bombWin +=1;
Destroy(bomb.gameObject);
}
else Debug.Log ("That's not a bomb.");
}
else Debug.Log ("Nothing found.");
if(bombsWin == 12){
Debug.Log ("U WON");
}
}
}
}
Answer by robertbu · Oct 09, 2013 at 06:27 PM
On line 26, you use 'bomb.gameObject', but there is no 'bomb' variable in this script, so I'm not sure what is going on. The typical way to solve this problem is to tag all of your bombs with a tag like 'Bomb'. Then in the script you would replace line 26 with:
if (hit.collider.tag == "Bomb")
Then you would destroy it using the 'hit' variable. Line 32 would become:
Destory(hit.transform.gameObject);
How do i "tag all my bombs" sorry for asking im kinda new at unity :/
Nvm figured it out. Thanks robertu i would hug you if we met irl :3 Thanks a lot!
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
System.Collections.ObjectModel.Collection does not contain a definition for "Items"? 1 Answer
Raycast Coding Issues 1 Answer
[Solved] Problem Finding Closest GameObject to Cursor Point 1 Answer
Editor Serialization of Collections/Collection Interfaces 1 Answer