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 /
avatar image
0
Question by Nicolas64pa · Jul 18, 2021 at 10:05 PM · scalelocalscale

How can i make a gameobject grow in size each time it collides with other gameobject?

Hello, i have been trying to make it so that when my player0s gameobject collides with a "power up" it grows in size

   if (other.gameObject.CompareTag("WindPowerUp"))
         {
             manager.GetComponent<SpawnManager>().currentWindPowerUp -= 1;
             Destroy(other.gameObject);
             powerUpCD = false;
             StartCoroutine(PowerUpCD(10f));
         }
         if(other.gameObject.CompareTag("WindPowerUp") && powerUpCD)
         {
             Player.transform.localScale += new Vector3(2, 2, 2);
             powerUpCD = false;
             StartCoroutine(PowerUpCD(10f));
         }               

It doesnt work as it does not change the scale, I have checked so the coroutine works and it does. Any help would be appreciated

Comment
Add comment · Show 2
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 roman_sedition · Jul 19, 2021 at 02:52 AM 0
Share

You are destroying the powerup before the 2nd if block could reach it

avatar image Nicolas64pa roman_sedition · Jul 19, 2021 at 02:54 AM 0
Share

what do you mean by that?

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by rage_co · Jul 19, 2021 at 05:09 AM

you are destroying the powerup object in the first if statement, which doesn't give the second if statement, any object to compare tag with, since it's already destroyed...you should remove the compare tag part from the second if and move it inside the first one...like this

    if (other.gameObject.CompareTag("WindPowerUp"))
          {
              manager.GetComponent<SpawnManager>().currentWindPowerUp -= 1;
              if(powerUpCD)
              {
                  Player.transform.localScale += new Vector3(2, 2, 2);
              } 
              Destroy(other.gameObject);
              powerUpCD = false;
              StartCoroutine(PowerUpCD(10f));
          }
       

and this should solve the problems, including the problem that since you set powerUpCD false immediately before the second if statement is run...there is no chance that the powerUpCD variable will return true in the second if statement, and so it has to be run before....Hope this helps

Comment
Add comment · Show 14 · 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 Nicolas64pa · Jul 19, 2021 at 04:42 PM 0
Share

What i meant with my code was that if powerUPCD was true, then it would add scale,set itself false and then start a coroutine that sets powerUPCD to true in 10 seconds, then i had the first part which only checks if it has collided with the object that has the tag WindPowerUp, so that if powerUPCD wasnt true, it would only destroy the power up gameobject and start the coroutine. Either way i tried the code you wrote but it still doesnt work, the scale remains unchanged, which is the opposite of what it is meant to do, any other idea? Thank you anyways, help is appreciated

avatar image rage_co Nicolas64pa · Jul 19, 2021 at 05:35 PM 0
Share

i understood that and i think the code i gave works well for that....as for the object not scaling..i have no idea why that's happening but i'll dig into it and hopefully reach back to you soon

avatar image rage_co Nicolas64pa · Jul 19, 2021 at 05:45 PM 0
Share

just a question, what exactly is player? this info can be crucial

avatar image Nicolas64pa rage_co · Jul 19, 2021 at 05:47 PM 0
Share

player refers to the Game object variable which would be the player itself

Show more comments

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

122 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

Related Questions

Changing local scale effect texture codes 1 Answer

How to get and set the real scale of object and not local scale? 0 Answers

Attempting to Calculate and Change Scale of Platforms Sets Scale to 0 1 Answer

LocalScale and uv 1 Answer

How to get expanding object collide when it touches others? 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