- Home /
opening a drawer using E
I have a script for opening doors and I was wondering how to make it into a script to open drawers. enter code here
my door script using UnityEngine; using UnityEngine.UI;
public class Door : MonoBehaviour
{
bool trig, open;//rig - check the input output to the trigger (the player must be with the Player tag) open - close and open the door
public float smooth = 2.0f;//rotational speed
public float DoorOpenAngle = 90.0f;//rotation angle
private Vector3 defaulRot;
private Vector3 openRot;
public Text txt;//text
AudioSource doorSound;
// Start is called before the first frame update
void Start()
{
defaulRot = transform.eulerAngles;
openRot = new Vector3(defaulRot.x, defaulRot.y + DoorOpenAngle, defaulRot.z);
doorSound = GetComponent<AudioSource>();
}
// Update is called once per frame
void Update()
{
if (open)//open
{
transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, openRot, Time.deltaTime * smooth);
}
else//close
{
transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, defaulRot, Time.deltaTime * smooth);
}
if (Input.GetKeyDown(KeyCode.E) && trig)
{
open = !open;
doorSound.Play();
}
if (trig)
{
if (open)
{
txt.text = "Close E";
}
else
{
txt.text = "Open E";
}
}
}
private void OnTriggerEnter(Collider coll)//entry and exit to / from the trigger
{
if (coll.tag == "Player")
{
if (!open)
{
txt.text = "Close E ";
}
else
{
txt.text = "Open E";
}
trig = true;
}
}
private void OnTriggerExit(Collider coll)//entry and exit to / from the trigger
{
if (coll.tag == "Player")
{
txt.text = " ";
trig = false;
}
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613061307im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
transform.RotateAround problems 2 Answers
Trouble with java raycast scripts to open a door 0 Answers
Door Script Help! 0 Answers
Best Practice for animating identical doors? 2 Answers
How to code a one way door 1 Answer