Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 /
avatar image
0
Question by ToastandBananas · Jul 02, 2018 at 11:11 PM · c#unity 52dunity 2dteleport

Teleport Not Working in Unity 2D

So I'm basically trying to get my character to "use" a set of stairs by teleporting from one stairway door to another. Each stairway door will be paired with one other stairway door.

Here's the code, I feel like it should be working...my Debug.Logs are even outputting the correct information. Also FYI, I have the Transform doorPairedWith as public so that I can just drag and drop the stairway door that each one is supposed to be paired with.

 using UnityEngine;
 
 public class Stairs : MonoBehaviour {
 
     Player player;
 
     public Transform doorPairedWith;
     
     Vector3 doorPairedWithPosition;
     Vector3 playerPosition;
 
     BoxCollider2D playerCollider;
     BoxCollider2D stairsTriggerCollider;
 
     bool playerIsNearStairs = false;
     
     void Start()
     {
         player = Player.instance;
 
         playerPosition = player.transform.position;
         doorPairedWithPosition = doorPairedWith.position;
 
         playerCollider = player.GetComponent<BoxCollider2D>();
         stairsTriggerCollider = GetComponent<BoxCollider2D>();
     }
 
     void Update()
     {
         UseStairs();
     }
 
     void UseStairs()
     {
         if (playerIsNearStairs == true)
         {
             if (Input.GetKeyDown(KeyCode.E))
             {
                 Debug.Log("Attempting to use stairway door named: " + doorPairedWith);
                 playerPosition = doorPairedWithPosition;
             }
         }
     }
 
     void OnTriggerEnter2D(Collider2D collision)
     {
         if (collision.gameObject.tag == "Player")
         {
             playerIsNearStairs = true;
             Debug.Log("Player is near stairs: " + playerIsNearStairs);
         }
     }
 
     void OnTriggerExit2D(Collider2D collision)
     {
         if (collision.gameObject.tag == "Player")
         {
             playerIsNearStairs = false;
             Debug.Log("Player is near stairs: " + playerIsNearStairs);
         }
     }
 }
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 $$anonymous$$ · Jul 03, 2018 at 12:20 AM

I happen to have code that can do just what you want it too! Like, no joke, exactly what you want to do (assumeing I understood you) is the purpose of this code:

The variable playerchar needs to be the gameobject your using as player the variable door is the door you go to in order to teleport the target door is the door you end up at to get this to work, you must press e when inside the trigger area of the door.

if it does not work tell me, as it works perfectly for me. So if it wont work for you then you must have done something wrong elsewhere.

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class DoorUniversal : MonoBehaviour {
 
     public GameObject PlayerChar;
     public bool InsideTriggerArea = false;
     public GameObject Door;
     public GameObject TargetDoor;
 
 
     void OnTriggerEnter2D(Collider2D Door)
     {
         Debug.Log("Entered");
         InsideTriggerArea = true;
     }
 
 
     void OnTriggerStay2D(Collider2D Door)
     {
         Debug.Log("Stayed");
         InsideTriggerArea = true;
 
         if (Input.GetButtonDown("Interact"))
         {
 
 
             Debug.Log("Using Door");
             PlayerChar.transform.position = new Vector4(TargetDoor.transform.position.x, TargetDoor.transform.position.y, TargetDoor.transform.position.z);
 
 
 
         }
     }
 
     void OnTriggerExit2D(Collider2D Door)
     {
         Debug.Log("Left");
         InsideTriggerArea = false;
     }
 
 
     void FixedUpdate()
     {
 
 
     }
 }
 


Comment
Add comment · Show 3 · 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
avatar image ToastandBananas · Jul 03, 2018 at 04:18 AM 0
Share

Awesome, thank you! I ended up getting a different answer elsewhere before I saw this, but what you have is basically what I did:

 using UnityEngine;
 
 public class Stairs : $$anonymous$$onoBehaviour {
 
     Player player;
 
     public Transform targetDoor;
 
     bool playerIsNearStairs = false;
     
     void Start()
     {
         player = Player.instance;
     }
 
     void Update()
     {
         UseStairs();
     }
 
     void UseStairs()
     {
         if (playerIsNearStairs == true)
         {
             if (Input.Get$$anonymous$$eyDown($$anonymous$$eyCode.E))
             {
                 Debug.Log("Attempting to use stairway door named: " + targetDoor);
                 player.transform.position = new Vector3(targetDoor.transform.position.x, targetDoor.transform.position.y - 0.13f);
             }
         }
     }
 
     void OnTriggerEnter2D(Collider2D collision)
     {
         if (collision.gameObject.tag == "Player")
         {
             playerIsNearStairs = true;
             Debug.Log("Player is near stairs: " + playerIsNearStairs);
         }
     }
 
     void OnTriggerExit2D(Collider2D collision)
     {
         if (collision.gameObject.tag == "Player")
         {
             playerIsNearStairs = false;
             Debug.Log("Player is near stairs: " + playerIsNearStairs);
         }
     }
 }

And just a heads up, the "-0.13f" was because my player was a little bit above the ground every time he teleported to a new location, so I'm just accounting for that.

avatar image ToastandBananas · Jul 03, 2018 at 04:42 PM 0
Share

Just curious @CiaranSimpson , have you figured out a way to tell enemies which set of stairs to use, depending on where they're trying to get to? That's my next goal and it seems like it will be a tough one to figure out.

avatar image $$anonymous$$ ToastandBananas · Jul 04, 2018 at 02:19 AM 0
Share

Just so you know, Unity Answers is supposed to be for questions and answers, this is going into the realm of discussion now (Which is what forums is for, so I would recommend if this door system of yours creates issues further, make a thread about it on the forums, rather then many questions, so you can discuss you issues and intentions in greater depth)

But to answer you question, you could have a public variable with several possible states, with a switch statement, where each state refers to a different door leading to a different location, and you can change the variable as per required. But I am unsure if this would work, having AI issues myself right now so, probably not a great person to ask. (-:

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

584 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

how do I find out which object is closer to the finish line? 2 Answers

Detect Full 360 rotation of an object when direction changes and change it's color. 2 Answers

Trying to reset lvl on collsion 1 Answer

How to make 3 bullets fire at different angles 1 Answer

Sprite image not changing 0 Answers


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