- Home /
collison on trigger for multiple clones
when pressing GUI button it makes a unit (clone of prefab), this unit walks untill it has made contact with a enemy unit then the speed stops. Now if i create it again and another enemy unit they dont stop. how can i make this happen at the moment they just pass through each other?
function OnTriggerEnter (col : Collider) {
if (col.gameObject.tag == "Range" ){
Debug.Log ("Hello");
GameObject.Find("5(Clone)").GetComponent(ItemSpeed1).Slow();
}
Answer by darthbator · Jun 04, 2013 at 05:48 PM
I'm a little confused as to what your issue is. The second clone doesn't stop?
For one thing you do not have to do this.
GameObject.Find("5(Clone)").GetComponent(ItemSpeed1).Slow();
You have the collider you should access the gameObject like that. Also if you're not caching the component and you just want to call a method you might as well use send message! So
col.SendMessage("Slow");
will be more efficient and will ensure you always are acting on the clone FROM the collision and not every object named 5(clone).
ok sorry i will try to explain more.....
I have a button that creates a unit, when it comes into contact with the enemy i want it to stop ("slow") and then fire.
the unit has a empty game object which is called range and that has the collision script on it!
so ive changed and i get this:
Send$$anonymous$$essage Slow has no receiver! UnityEngine.Component:Send$$anonymous$$essage(String)
Your answer
![](https://koobas.hobune.stream/wayback/20220613103519im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Colliding with multiple objects to destroy other gameObject 4 Answers
Affect only one clone from multiple clones? 1 Answer
Why does OnCollisionStay returns multiple contact points in such a strange way? 0 Answers
Is calling OnCollisionEnter from multiple scripts bad? 0 Answers
Lag on Collision from Projectile 1 Answer