Quantcast
Channel: Questions in topic: "ios"
Viewing all articles
Browse latest Browse all 4709

How to pick up an object when touching a button(Mobile)

$
0
0
Basically i'm trying to duplicate this script so that when i tap a button on screen it will pick up the object. ATM the way it works is when an object has the pickupable script you can press e and it picks it up. using UnityEngine; using System.Collections; public class PickupObject : MonoBehaviour { GameObject mainCamera; bool carrying; GameObject carriedObject; public float distance; public float smooth; // Use this for initialization void Start () { mainCamera = GameObject.FindWithTag("MainCamera"); } // Update is called once per frame void Update () { if(carrying) { carry(carriedObject); checkDrop(); //rotateObject(); } else { pickup(); } } void rotateObject() { carriedObject.transform.Rotate(5,10,15); } void carry(GameObject o) { o.transform.position = Vector3.Lerp (o.transform.position, mainCamera.transform.position + mainCamera.transform.forward * distance, Time.deltaTime * smooth); o.transform.rotation = Quaternion.identity; } void pickup() { if(Input.GetKeyDown (KeyCode.E)) { int x = Screen.width / 2; int y = Screen.height / 2; Ray ray = mainCamera.GetComponent().ScreenPointToRay(new Vector3(x,y)); RaycastHit hit; if(Physics.Raycast(ray, out hit)) { Pickupable p = hit.collider.GetComponent(); if(p != null) { carrying = true; carriedObject = p.gameObject; //p.gameObject.rigidbody.isKinematic = true; p.gameObject.GetComponent().useGravity = false; } } } } void checkDrop() { if(Input.GetKeyDown (KeyCode.E)) { dropObject(); } } void dropObject() { carrying = false; //carriedObject.gameObject.rigidbody.isKinematic = false; carriedObject.gameObject.GetComponent().useGravity = true; carriedObject = null; } }

Viewing all articles
Browse latest Browse all 4709

Trending Articles