Object Touch Problem

Hi guys i’ve been using a simple touch script so that once i’ve touched an object it goes boom ! And i make a cube drag the script to it tap on the box and it goes boom :smiley: Very nice so far but then i duplicate this box and put another box just like it somewhere around and once i touch one of them they both go boom :open_mouth: ? It seems that it’s working like sth static (:O) i’d like to know whether there is a problem with my code or what ?
My unity version:4.1

    #pragma strict
    public var Hit:RaycastHit;
    public var layermask = (1 << 8) |(1 << 2);
    function Start () {
    
    }
    
    function Update () {
    	if(Input.touchCount > 0 )
    	{
    		var TheTouch:Touch = Input.GetTouch(0);
    		var MyRay  = camera.main.ScreenPointToRay(TheTouch.position);
    		if(Physics.Raycast(MyRay,Hit,layermask))
    		{
    
    				
    			
    			Destroy(gameObject);
    		}
    	}
    
    	
    } 

I’m using that layermask cos i’ve seen it in a tutarial of unity in youtube have no idea what it does at all!

Remember that Physics.Raycast will return true if it hits any collider in your layermask. You also need to check that the collider returned in the RaycastHit is the one associated with the current GameObject. Try replacing line 18 with:

if(Hit.collider == collider)
{
    Destroy(gameObject);
}

Should ensure the correct object gets destroyed.