- Home /
 
               Question by 
               Omer.Hussain · Jan 28, 2014 at 02:44 PM · 
                spawnaddforceoncollisionenterrunning  
              
 
              Object doesn't stop moving OnCollisionEnter
Hi! in my script i am instantiating the prefab at random assign spawn, when it instantiate prefab , i addforce to move it toward my player, it works ... on collision i stop creating instantiating, it works but what i want is to stop the moving instantiated prefab clone...... i tried different techniques but it doesn't work .... kindly help me out ... this make it move thingToMake.AddForce(Vector3(0,0,speed));
 #pragma strict
 
     var timer : float = 0.0;
     var spawning : boolean = false;
     var prefab : Rigidbody;
     var spawn1 : Transform;
     var spawn2 : Transform;
     var spawn3 : Transform;
     var flag=true;
     var speed : int; // speed of the obstacle
      
     function Update () {
     /* if (flag==false){
      speed=1;
      print(speed);
      }*/
      
      //check if spawning at the moment, if not add to timer
      if(!spawning){
       timer += Time.deltaTime;
      }
      //when timer reaches 2 seconds, call Spawn function
      if(timer >= 1){
      if (flag){
      //speed =-500;
       Spawn();
       }
      }
     }
      
     function Spawn(){
     
      //set spawning to true, to stop timer counting in the Update function
      spawning = true;
      //reset the timer to 0 so process can start over
      timer = 0;
      
      //select a random number, inside a maths function absolute command to ensure it is a whole number
      var randomPick : int = Mathf.Abs(Random.Range(1,4));
      
      //create a location 'Transform' type variable to store one of 3 possible locations declared at top of script
      var location : Transform;
      
      //check what randomPick is, and select one of the 3 locations, based on that number
      if(randomPick == 1){
       location = spawn1;
       Debug.Log("Chose pos 1");
      }
      else if(randomPick == 2){
       location = spawn2;
       Debug.Log("Chose pos 2");
      }
      else if(randomPick == 3){
       location = spawn3;
       Debug.Log("Chose pos 3");
      }
      
      //create the object at point of the location variable
     
       var thingToMake : Rigidbody = Instantiate(prefab, location.position, location.rotation);
       thingToMake.AddForce(Vector3(0,0,speed));
 //      thingToMake.transform.Translate(Vector3.forward*Time.deltaTime*speed);
       
       
 //      yield WaitForSeconds(5);
 //      Destroy(thingToMake.gameObject);
 //     
      //halt script for 1 second before returning to the start of the process
 //     yield WaitForSeconds(1);
      //set spawning back to false so timer may start again
      spawning = false;
     }
 
 function OnCollisionEnter(movement: Collision){
     if (movement.gameObject.tag=="Hardle"){
 //    thingToMake.AddForce(Vector3(0,0,speed));
 //    transform.position= Vector3(39.90576,18.292813,-3.095224);
 //    print ("Touch-Movement");
             //speed=0;
                     //        Time.timeScale= 0.0f;
             if(flag){
             flag = false;
             }
     }
 } 
 
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
A node in a childnode? 1 Answer
Adding force on collision performance question. 1 Answer
Spawn object problem 1 Answer
GameObject get launched underneath the terrain when using AddForce 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                