- Home /
How to make the door open after enter the password?
Now. I use this code for simple opendoor but How to make the door open after enter the password? Thanks
var smooth = 2.0;
var DoorOpenAngle = 90.0;
private var open : boolean;
private var enter : boolean;
private var defaultRot : Vector3;
private var openRot : Vector3;
function Start(){
defaultRot = transform.eulerAngles;
openRot = new Vector3 (defaultRot.x, defaultRot.y + DoorOpenAngle, defaultRot.z);
}
//Main function
function Update (){
if(open){
//Open door
transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, openRot, Time.deltaTime * smooth);
}else{
//Close door
transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, defaultRot, Time.deltaTime * smooth);
}
if(Input.GetKeyDown("f") && enter){
open = !open;
}
}
function OnGUI(){
if(enter){
GUI.Label(new Rect(Screen.width/2 - 75, Screen.height - 100, 150, 30), "Press 'F' to open the door");
}
}
//Activate the Main function when player is near the door
function OnTriggerEnter (other : Collider){
if (other.gameObject.tag == "Player") {
enter = true;
}
}
//Deactivate the Main function when player is go away from door
function OnTriggerExit (other : Collider){
if (other.gameObject.tag == "Player") {
enter = false;
}
}
please use code tags. highlight the code and press on the 101/010 button above the edit box.
Answer by Dzoni94 · Aug 10, 2014 at 02:36 PM
You could add another variable of type String ( probably private variable ) and then make a password field inside OnGUI. Of course this is the simplest approach, without any fancy 3D GUI or similar, you simply enter the password into a text field and click the button to check if the password is correct. Something like this:
function OnGUI(){
if(enter){
GUI.Label(new Rect(Screen.width/2 - 75, Screen.height - 100, 150, 30), "Enter password to open door");
var password : String = GUI.PasswordField(new Rect(Screen.width/2 - 75, Screen.height - 70, 150, 30), password, "*"[0]);
if(GUI.Button(new Rect(Screen.width/2 - 75, Screen.height - 40, 150, 30), "Check Password")){
if(password == DoorPassword) open = !open; // DoorPassword would be the global variable declared outside the OnGUI function
}
}
}
Your answer
Follow this Question
Related Questions
open and close a door with a keypress 6 Answers
Animate Doors and Button Through Script 1 Answer
Door not opening and closing correctly? 2 Answers
3ds max how to animate door for unity 1 Answer
Trap Door Question 1 Answer