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 /
This question was closed Aug 03, 2017 at 09:35 AM by omaimah.
avatar image
0
Question by omaimah · Jul 29, 2017 at 08:19 AM · c#unity 2dgameobjectsgame object

destroy prefabs when they hit the player

I want to Destroy the gameobject that is in the prefabs when they touch the player I have this script I tried it when the gameobject wasn't in the prefabs and it worked,thank you .

![alt text][1]

1.png (134.9 kB)
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

  • Sort: 
avatar image
-1

Answer by Subhanshu · Jul 29, 2017 at 01:11 PM

Hi @omaimah .

1. Here we will create a separate script to destroy your prefabs.

2. Name it 'DestroyFruitPrefab'. (As per your desire)

3. In this script we will write few lines of code.

 void OnCollisionEnter2D(collision other)
     {
          if(other.tag == "Player")
          {
                //Apply any visual effects you want to render here when collision occurs.
                Destroy(gameObject); 
               //This will destroy all your prefabs which has this script attached.
          }
     }


4. Attach this script to all your prefabs that you want to destroy. Remove previous script for a while.

5. Now just make sure to allot a 'Tag' to your Player GameObject in the Hierarchy. Tag your player with a tag - "Player".

If 'Player' tag isn't available then look at the very bottom of drop down list. There's an option of 'Add Tag'. Click on it and create a new tag naming it 'Player'. Then finally allot it to your Player GameObject.

6. It is worth noting to check for the spelling on the player's tag in the Editor and the same spelling in the script. (Case Sensitive).

7. Once we're done, save the script and run again.

I hope it will work.!

EDIT : You can see the image here, I used the script in my last comment and it is working fine. alt text

After Colliding with Player, the player isn't going down because our fruits are no longer being affected by physics forces. As we removed 'Rigidbody' component.

alt text


consider-this.jpg (16.3 kB)
after-collision.jpg (11.5 kB)
Comment
Add comment · Show 6 · 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 omaimah · Jul 30, 2017 at 03:56 PM 0
Share

Hi,thank you.but i have this error alt text

11.png (141.4 kB)
12.png (18.5 kB)
avatar image Getsumi3 omaimah · Jul 30, 2017 at 04:10 PM 0
Share

hello @omaimah @Subhanshu made a small mistake He most likely wanted to write

  void OnCollisionEnter2D(collision other)
      {
           if(other.collider.tag == "Player")
           {
                 //Apply any visual effects you want to render here when collision occurs.
                 Destroy(gameObject); 
                //This will destroy all your prefabs which has this script attached.
           }
      }



avatar image Subhanshu omaimah · Jul 30, 2017 at 04:12 PM -1
Share

Hi @omaimah . I am sorry, I forgot to put 'gameObject' before tag. It must be something like.

 //Just add 'gameObject' between 'other' & 'tag'.
 
 void OnCollisionEnter2D(Collision other)
 {    
      if(other.gameObject.tag == "Player")
         {
            Destroy(gameObject);
         }
 }
 

Please make the above changes to your script. And Let me know if it works.!

avatar image Subhanshu omaimah · Jul 30, 2017 at 04:19 PM -1
Share

@omaimah . You can try either of the above suggestions and let us know if it works.

Rather you should try both.

avatar image omaimah · Jul 31, 2017 at 09:27 AM 0
Share

thanks for helping ,I tried both ways but it didn't work the fruit just pushed the player down you can see I but a temporary player. one more question ,should I change the player's tag or the prefab's (PS: I changed the prefab's tag ) @george095 @Subhanshu

[1]: /storage/temp/98838-111.png

avatar image Subhanshu omaimah · Jul 31, 2017 at 11:08 AM -1
Share

Hi @omaimah .

It seems 'Boy' GameObject is your player as I can see in the Hierarchy,

If it is so, then assign 'Boy' GameObject with a tag "Player" which is in the Hierarchy.

If your player has a prefab then also you need to assign your prefab player with the same tag.

Now please make sure to remove 'Rigidbody2D' component from Fruits GameObjects. (Do not remove collider).

After this, make sure to set Player's Rigidbody2D gravity to '0' (Zero).

We can move our fruits downward using transform.Translate(); we don't need gravity.

See Code below with beady eyes from Head to Toe!

 public class DestroyFruit : $$anonymous$$onoBehaviour {
 
     //Here we can move down our fruits without Rigidbody.
     //Using transform.Translate(); we can move it down.
     private void Update()
     {
       //Vector2('X' direction, 'Y' direction);
       //Since we want it to move downward that's why we'll use negative values in 'Y'.     
       //$$anonymous$$ultiplying our Vector2 values with Time.deltaTime will make it smoother.           
         transform.Translate(new Vector2(0.0f, -2f) * Time.deltaTime, Space.World);
     }
 
     //Here is the same code as we had before.
     private void OnCollisionEnter2D(Collision2D other)
     {
         if (other.gameObject.tag == "Player")
         {
             Destroy(gameObject);
             //Put some functionality to add score values here..
         }
     }
 
 }

Try the above code & let me know.!

Follow this Question

Answers Answers and Comments

360 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

Related Questions

Multiple Cars not working 1 Answer

Distribute terrain in zones 3 Answers

Instantiate random platforms 0 Answers

Making a bubble level (not a game but work tool) 1 Answer

How can i find out how much element on scene now? 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