Advertisement
MrKubic

Drop1

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