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 Prog_Meisters · Jan 15, 2014 at 04:52 AM · 2dphysicscollidertrigger

Collider trigger only affecting a single game object when it should affect multiple

I'm working on a 2D top-down action RPG. I have a fireball spell that instantiates where you click the mouse. It starts small and rapidly expands until it reaches it's maximum size, then destroys itself. I wanted it to both to be a physics collider so that it will push game objects away, and also be a trigger collider to apply damage to them.

My fireball consists of three objects. I have the parent Fireball, which has the fireball script, sprite render, and the animator.

 public class Fireball : MonoBehaviour {
        
        public int damage;
        public float destroyTimer;
 
     void Update () {
     
     if (destroyTimer > 0.5f)
       destroyTimer -= Time.deltaTime;
     if (destroyTimer < 0.5f)
       Destroy(gameObject);
     
     } 
 }

There are two children, one of them only contains the physics collider. The other has the trigger collider and this script.

 public class FireballTrigger : MonoBehaviour {
         
         private int damage;
         public GameObject parent;
         private bool damageDone;
         
     void Start () {
         
         damage = parent.GetComponent<Fireball>().damage;
     }
         
     void OnTriggerEnter2D(Collider2D collider)
     {
         Stats stats = (Stats)collider.gameObject.GetComponent("Stats");
         if (stats != null && damageDone == false)
         {
             stats.AddDamage(-damage);
             damageDone = true;
         }
   }   
 }

Here's where I run into a problem. I set up a scene with a bunch of targets to test it out, but it will only add the damage to one of the targets. I disabled the physics collider to see if it was pushing the objects out of the way of the trigger, but there was no change. How can I get this explosive ball of fire to kill a room full of dudes instead of just one in a crowd?

Comment
Add comment · Show 1
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 Quillicit · Jan 15, 2014 at 08:12 AM 0
Share

The first time the fireball collides with anything, damageDone becomes true and no more collisions will result in damage.

You may want to put the damage part on the enemy scripts anyway, as I assume there will be multiple sources of damage in the final game.

0 Replies

· Add your reply
  • Sort: 

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

19 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

Related Questions

Child object's collider (on a different layer) is interfering with parent Physics... 0 Answers

How having correct bounce on a rotating pinwheel(it's more complicated)? 0 Answers

Collider2D/RigidBody2D not working 1 Answer

2D Collision detection not working 0 Answers

Triggers colliding when they are set not to in Collision Matrix 4 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