Advertisement
MrKubic

drop2

Jun 24th, 2015
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.22 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class Drop : MonoBehaviour {
  5.     float grabPower = 10.0f;//скорость притяжения
  6.     float throwPower = 10f;//скорость толчка
  7.     RaycastHit hit;//луч
  8.     float RayDistance = 3.0f;//дистанция
  9.     private bool Grab = false;//ф-ция притяжения
  10.     private bool Throw = false;//ф-ция толчка
  11.     Transform offset;
  12.    
  13.     void  Update (){
  14.         if(Input.GetKey(KeyCode.E))
  15.         {//если нажата клавиша Е
  16.            
  17.             Physics.Raycast(transform.position, transform.forward, out hit, RayDistance);//физический луч
  18.  
  19.             if(hit.rigidbody){//если луч соприкасается с rigidbody
  20.                 Grab = true;
  21.             }
  22.         }
  23.        
  24.         if (Input.GetMouseButtonDown(0)){//если нажата лев кн мыши
  25.             if(Grab){
  26.                 Grab = false;
  27.                 Throw = true;
  28.             }
  29.         }
  30.        
  31.         if(Grab){//ф-ция притяжения
  32.             if(hit.rigidbody){
  33.                 hit.rigidbody.velocity = (offset.position - (hit.transform.position + hit.rigidbody.centerOfMass))*grabPower;
  34.             }
  35.         }
  36.        
  37.         if(Throw){//ф-ция толчка
  38.             if(hit.rigidbody){
  39.                 hit.rigidbody.velocity = transform.forward * throwPower;
  40.                 Throw = false;
  41.             }
  42.         }
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement