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. :confused:

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");
		}
    }
}
}

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);