Okay i have been working on a elevator script, i can’t seem to get both doors to open at the same time one going one way the other the other way and with a mouse press hovered over a button I’ve been trying to learn c# but not much is working can anyone help me so i can learn to make my own scripts.
Make sure to set up the properties in the editor (if you need help with that just comment and let me know) For the code below just add to gameController (or main camera) put the left door on doorL gameobject, then right door on doorR gameobject. set the door speed to .1 (or slower/faster depending on how you want) set limit l to -1 and limitr to 1
Then just press space to open and close the door.
using UnityEngine;
using System.Collections;
public class openDoors : MonoBehaviour {
public GameObject doorL;
public GameObject doorR;
public float doorLSpeed;
public float doorRSpeed;
public float limitL;
private float limitLCounter;
public float limitR;
private float limitRCounter;
public bool openDoorsBool;
public bool closeDoorsBool;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKeyUp(KeyCode.Space))
{
if (openDoorsBool)
{
openDoorsBool = false;
closeDoorsBool = true;
}
else
{
openDoorsBool = true;
closeDoorsBool = false;
}
}
if (openDoorsBool)
{
if (limitLCounter >= limitL)
{
doorL.transform.position = new Vector3 (doorL.transform.position.x - doorLSpeed, doorL.transform.position.y, doorL.transform.position.z);
limitLCounter -= doorLSpeed;
}
if (limitRCounter <= limitR)
{
doorR.transform.position = new Vector3 (doorR.transform.position.x + doorRSpeed, doorR.transform.position.y, doorR.transform.position.z);
limitRCounter += doorRSpeed;
}
}
if (closeDoorsBool)
{
if (limitLCounter <= 0)
{
doorL.transform.position = new Vector3 (doorL.transform.position.x + doorLSpeed, doorL.transform.position.y, doorL.transform.position.z);
limitLCounter += doorLSpeed;
}
if (limitRCounter >= 0)
{
doorR.transform.position = new Vector3 (doorR.transform.position.x - doorRSpeed, doorR.transform.position.y, doorR.transform.position.z);
limitRCounter -= doorRSpeed;
}
}
}
}