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 Cyborg_X · Dec 28, 2018 at 04:24 PM · c#2d2d-platformerplatformertips

Player Tips - Have triggers act independently

I have these GameObjects that when the player enters they glow up and allow the player to interact. The problem is, that if I have multiple Objects (Tips) and you enter one of their triggers all of the other ones also glow. I attached a GIF to show what I mean. If you have any suggestions for code please let me see! My code is a little confusing: Basically I have two Tip Objects. One for when the player is in the trigger and one for when they aren't (glowing and not glowing) All the TipObjects in the scene are added to an ObjectArray, and the glowing objects are teleported away as they don't work if I set them to not active.

On collision with player, the non glowing is set not active and the glowing is put in the right position and the tip displays.

I have commented my code in the hope it makes sense.

But back to my main question...why do all the triggers act like one trigger and cause all the objects to glow upon collision with player?

Code:

 void Start () {
         player = GameObject.FindGameObjectWithTag("Player");
         Tip1 = GameObject.FindGameObjectsWithTag("Tip1");
         Tip2 = GameObject.FindGameObjectsWithTag("Tip2");
         foreach (GameObject Tip in Tip1)
         {
 
             Tip.SetActive(true);
         }
         foreach (GameObject Tip2 in Tip2)
         {
             Tip2.SetActive(true);
             Tip2.transform.localPosition = new Vector3(1000, 1000); //Teleport glowing object away
         }
 void Update()
     {
         
         if (Input.GetKeyDown(KeyCode.Return) && InTrigger == true)
         {
             TipShowing = !TipShowing; //TipShowing being the actual tip after the intro Text (Press Enter)
             if (TipShowing == true) //If "Press Enter" is showing...
             {
                 playerScript.CanMove = false; //player can't move
                 //Debug.Log("Enter");
                 TipObject.SetActive(true); //Object containing the text is shown
                 IntroCanvas.SetActive(false); //"Press Enter" is hidden
                 
             }
             if (TipShowing == false) //Player presses enter again hence closing tip
             {
                 //Debug.Log("Enter2");
                 playerScript.CanMove = true;
                 TipObject.SetActive(false);
                 IntroCanvas.SetActive(true);
                 TipShowing = false;
 }
 void OnTriggerEnter2D(Collider2D other)
     {
         if(other.gameObject.tag == "Player")
         {
             foreach (GameObject Tip in Tip1) //On collision with player all the non glowing objects are hidden
             {
 
                 Tip.SetActive(false);
             }
             foreach (GameObject Tip2 in Tip2) //All the glowing objects are shown at their local origin
             {
                 Tip2.SetActive(true);
                 Tip2.transform.localPosition = new Vector3(0, 0);
             }
             IntroCanvas.SetActive(true); //Canvas to tell player to press enter is shown
             InTrigger = true; //In trigger set to true
         }
 }
  void OnTriggerExit2D(Collider2D other)
     {
         if (other.gameObject.tag == "Player")
         {
             foreach (GameObject Tip in Tip1)
             {
                 Tip.SetActive(true);
             }
             foreach (GameObject Tip in Tip2)
             {
                 Tip.SetActive(false);
             }
             IntroCanvas.SetActive(false);
             InTrigger = false;
         }
        
     }

Gif: Stored as a Gyazo

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
Best Answer

Answer by Chik3r · Dec 28, 2018 at 05:05 PM

When the player enters the trigger, you making all tips glow. This is your code, but only making the GameObject where the player is glow. Code:

 public GameObject thisTip;
 public GameObject thisTipGlow;
 void Start () {
     player = GameObject.FindGameObjectWithTag("Player");
     Tip1 = GameObject.FindGameObjectsWithTag("Tip1");
     Tip2 = GameObject.FindGameObjectsWithTag("Tip2");
     foreach (GameObject tip in Tip1)
     {
         tip.SetActive(true);
     }
     foreach (GameObject tip in Tip2)
     {
         Tip2.SetActive(true);
         Tip2.transform.localPosition = new Vector3(1000, 1000); //Teleport glowing object away
     }
 }
 
 void Update()
 {    
     if (Input.GetKeyDown(KeyCode.Return) && InTrigger == true)
     {
         TipShowing = !TipShowing; //TipShowing being the actual tip after the intro Text (Press Enter)
         if (TipShowing == true) //If "Press Enter" is showing...
         {
             playerScript.CanMove = false; //player can't move
             //Debug.Log("Enter");
             TipObject.SetActive(true); //Object containing the text is shown
             IntroCanvas.SetActive(false); //"Press Enter" is hidden
                      
         }
         else //Player presses enter again hence closing tip
         {
                 //Debug.Log("Enter2");
                 playerScript.CanMove = true;
                 TipObject.SetActive(false);
                 IntroCanvas.SetActive(true);
                 TipShowing = false;
         }
     }
 }
 
 void OnTriggerEnter2D(Collider2D other)
 {
     if(other.gameObject.tag == "Player")
     {
         thisTip.SetActive(false);
         thisTipGlow.SetActive(true);
         
         IntroCanvas.SetActive(true); //Canvas to tell player to press enter is shown
         InTrigger = true; //In trigger set to true
     }
 }
 
 void OnTriggerExit2D(Collider2D other)
 {
     if (other.gameObject.tag == "Player")
     {
         thisTip.SetActive(true);
         thisTipGlow.SetActive(false);
 
         IntroCanvas.SetActive(false);
         InTrigger = false;
     }     
 }

And you only have to change thisTip/thisTipGlow to the actual tip. Additionally, If this script is in every tip, I would change your code to be something like this:

 public GameObject thisTip;
 public GameObject thisTipGlow;
 
 void Start () {
     player = GameObject.FindGameObjectWithTag("Player");
     Tip1 = GameObject.FindGameObjectsWithTag("Tip1");
     Tip2 = GameObject.FindGameObjectsWithTag("Tip2");
 
     thisTip = this.GameObject;
     thisTip.SetActive(true);
     thisTipGlow.SetActive(false);
     thisTipGlow.transform.localPosition = new Vector3(1000, 1000); //Teleport glowing object away
 }
 
 void Update()
 {    
     if (Input.GetKeyDown(KeyCode.Return) && InTrigger == true)
     {
         TipShowing = !TipShowing; //TipShowing being the actual tip after the intro Text (Press Enter)
         if (TipShowing == true) //If "Press Enter" is showing...
         {
             playerScript.CanMove = false; //player can't move
             //Debug.Log("Enter");
             TipObject.SetActive(true); //Object containing the text is shown
             IntroCanvas.SetActive(false); //"Press Enter" is hidden
                      
         }
         else //Player presses enter again hence closing tip
         {
             //Debug.Log("Enter2");
             playerScript.CanMove = true;
             TipObject.SetActive(false);
             IntroCanvas.SetActive(true);
             TipShowing = false;
         }
     }
 }
 
 void OnTriggerEnter2D(Collider2D other)
 {
     if(other.gameObject.tag == "Player")
     {
         thisTip.SetActive(false);
         thisTipGlow.SetActive(true);
 
         IntroCanvas.SetActive(true); //Canvas to tell player to press enter is shown
         InTrigger = true; //In trigger set to true
     }
 }
 
 void OnTriggerExit2D(Collider2D other)
 {
     if (other.gameObject.tag == "Player")
     {
         thisTip.SetActive(true);
         thisTipGlow.SetActive(false);
 
         IntroCanvas.SetActive(false);
         InTrigger = false;
     }     
 }

And then you set thisTip and thisTipGlow in the inspector to what they should be.

Comment
Add comment · Show 1 · 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 Cyborg_X · Dec 29, 2018 at 10:00 AM 0
Share

This worked perfectly! The only thing is the lines: thisTip = this.GameObject; ... thisTipGlow.transform.localPosition = new Vector3(1000, 1000);

Are now unnecessary due to how I have my tips setup (tipnot glow and tipglow are setup as children of one object and doing this.gameobject got the parent object ins$$anonymous$$d which just disabled the whole thing.

Thanks for your help :D

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

609 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image 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

Trying to get Player Tip for player to open on Return and close on Return 2 Answers

How do i make a one gun only Weapon system. (2D) 2 Answers

In my 2D platformer game, how would I create a height marker?, 1 Answer

How to make character stop at wall? 1 Answer

How to check if an object hits the ground hard enough then add explosive force around it (2D) 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