Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
This post has been wikified, any user with enough reputation can edit it.
avatar image
0
Question by ConfirmedExpert · May 29, 2015 at 10:35 AM · animationjavascriptdoorkey

How to set-up a Door that locks behind you after walk in to a room, but need a iPhone as a key to get out?

Hey Guys, I need some help I set up a level to get inside the bedroom, the plan was, I already set up the some javascripts and the animation for the door to be closed (but don't know how to reverse it"

  1. Player gets in a bedroom, but the door shuts behind him, and he's trapped

  2. Player waits for 20 seconds, the Iphone rings

  3. The bedroom doors opens as the player picks up the Iphone into inventory,

  4. Then heads out of the bedroom then gets into the lab door that opened as well

I set the animation from DoorJoint, and the BedroomDoor as a child of DoorJoint.

JavaScript for PlayerInventory.js

 #pragma strict
 //Inventory List
 public var hasIphone : boolean;

JavaScript for DoorCloses.js

 var CloseDoorClip : AnimationClip;
 
 private var playerInventory : PlayerInventory;
 private var count : int;
 
 function OnTriggerEnter (player : Collider) {
   if(player.tag=="Player")
   GameObject.Find("DoorJoint").GetComponent.<Animation>().Play("BedroomDoorClose");
 }
 function OnTriggerExit (player : Collider)
 {
    if(player != null && player.HasIphone()) {
    GameObject.Find("DoorJoint").GetComponent.<Animation>().Play("BedroomDoorClose");
         }
 }

JavaScript for Tags.js

 #pragma strict
 
 //List of tag strings for the game that will store data
 public static var player : String = "Player";
 public static var gameController : String = "Game Controller";
 public static var enemy : String = "Enemy";
 public static var iphone : String = "Iphone";
 public static var doorjoint : String = "DoorJoint";
 

JavaScript for IphonePickup.js

 #pragma strict
 
 public var keyGrab : AudioClip;                         // Audioclip to play when the key is picked up.
 
 
 private var player : GameObject;                        // Reference to the player.
 private var playerInventory : PlayerInventory;      // Reference to the player's inventory.
 
 
 function Awake ()
 {
     // Setting up the references.
     player = GameObject.FindGameObjectWithTag(Tags.player);
     playerInventory = player.GetComponent(PlayerInventory);
 }
 
 
 function OnTriggerEnter (other : Collider)
 {
     // If the colliding gameobject is the player...
     if(gameObject.tag == "Player");
     { 
         // ... the player has a key ...
         playerInventory.hasIphone = true;
         
         // ... and destroy this gameobject.
         Destroy(gameObject);
     }
 }
 

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by spiceboy9994 · May 29, 2015 at 01:34 PM

If you only need to reverse the animation, just change the animation speed to -1

 var doorJointAnimation = GameObject.Find("DoorJoint").GetComponent.<Animation>();
 doorJointAnimation["BedroomDoorClose"].speed = -1.0f;
 doorJointAnimation.Play("BedroomDoorClose");


Regards

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

How to open a door with the "E" key 1 Answer

Start Animation in code is not working 1 Answer

Open doors with key & sound 1 Answer

How to launch an animation pressing e 1 Answer

Key to open door not working. 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges