- Home /
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 :D 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 :O ? 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!
Answer by alwayscodeangry · Jul 13, 2014 at 11:37 AM
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.
Thnx a bunch u're a life savior ,it's amazing how many people dont mention this in their tutarials or answers :O !
Your answer
![](https://koobas.hobune.stream/wayback/20220613153903im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Unity touch 1 Answer
Disable gui texture in a different way? 0 Answers
Android touch question 0 Answers
Android touch is not dynamic 1 Answer
android touch input 1 Answer