Advertisement
kasru

Updated Click To Move

Jan 23rd, 2013
8,363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //****** Donations are greatly appreciated.  ******
  2. //****** You can donate directly to Jesse through paypal at  https://www.paypal.me/JEtzler   ******
  3.  
  4. var smooth:int; // Determines how quickly object moves towards position
  5. private var targetPosition:Vector3;
  6. var speed = 60;
  7.  
  8. function Update () {
  9.  
  10.     if(Input.GetKeyDown(KeyCode.Mouse0)) {
  11.         smooth=1;
  12.         var playerPlane = new Plane(Vector3.up, transform.position);
  13.         var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
  14.         var hitdist = 0.0;
  15.  
  16.             if (playerPlane.Raycast (ray, hitdist)) {
  17.  
  18.                         var targetPoint = ray.GetPoint(hitdist);
  19.                         targetPosition = ray.GetPoint(hitdist);
  20.                         var targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
  21.                         transform.rotation = targetRotation;
  22.         }
  23.     }
  24.  
  25.         var dir:Vector3 = targetPosition - transform.position;
  26.     var dist:float = dir.magnitude;
  27.     var move:float = speed * Time.deltaTime;
  28.  
  29.         if(dist > move){
  30.             transform.position += dir.normalized * move;
  31.  
  32.         }
  33.     else {
  34.         transform.position = targetPosition;
  35.     }
  36.  
  37.     transform.position += (targetPosition - transform.position).normalized * speed * Time.deltaTime;
  38.  
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement