Advertisement
MrKubic

Drop

Jun 24th, 2015
567
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.33 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.     public GUITexture drop;
  13.    
  14.     void  Update (){
  15.         int count = Input.touchCount;
  16.         for(int i = 0 ; i < count ; i++){
  17.             Touch touch = Input.GetTouch(i);
  18.             {//если нажата клавиша Е
  19.                
  20.                 Physics.Raycast(transform.position, transform.forward, out hit, RayDistance);//физический луч
  21.  
  22.             if(hit.rigidbody){//если луч соприкасается с rigidbody
  23.                 Grab = true;
  24.             }
  25.         }
  26.        
  27.             if (drop.HitTest(touch.position)){//если нажата лев кн мыши
  28.             if(Grab){
  29.                 Grab = false;
  30.                 Throw = true;
  31.             }
  32.         }
  33.        
  34.         if(Grab){//ф-ция притяжения
  35.             if(hit.rigidbody){
  36.                 hit.rigidbody.velocity = (offset.position - (hit.transform.position + hit.rigidbody.centerOfMass))*grabPower;
  37.             }
  38.         }
  39.        
  40.         if(Throw){//ф-ция толчка
  41.             if(hit.rigidbody){
  42.                 hit.rigidbody.velocity = transform.forward * throwPower;
  43.                 Throw = false;
  44.             }
  45.         }
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement