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 JohnnyMccrum · Apr 29, 2016 at 06:27 AM · enemyhealthbar

More than one enemy?

I have a wolf, when I damage that wolf, it's health ticks down by 20, when I kill that wolf, the wolf despawns -- it works.

However, if i spawn a second wolf, then I kill the first wolf, the second wolf will crash my game, because the instance of the health object no longer exists.

How do I resolve this?

Thanks.

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 Whiteleaf · Apr 29, 2016 at 07:23 AM 0
Share

i don't understand what's happening, can you post your code for your wolf and the health manager?

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by Vallar · Apr 29, 2016 at 08:16 AM

Hello,

Let me see if Understand correctly:

You have Wolf1 with HPobject and Wolf2 with HPobject, once you kill Wolf1, and error comes up and the game crashes that the Wolf2 object has no HPobject because the object no longer exists?

If I recall correctly I had a similar issue when I assigned in inspector the object (HPobject) to a variable using a prefab. The solution is to reference the HPobject from code.

So for example, put the HPobject as a child of the Wolf1 and same for Wolf2 then use something like:

GameObject child = transform.GetChild[0];

then do whatever to the variable child.

Hope that helps.

Comment
Add comment · 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
0

Answer by Kamil1064 · Apr 29, 2016 at 08:40 AM

Hi @JohnnyMccrum, you probably reduce health on prefab or just in in script which cause problem because you decrease health on global variavle, ie:

 // in Wolf script
 public static float wolfHealth;
 if(wolfHealth <= 0)
 //kill
 // in player script
 Wolf.wolfHealth -= 10;

That will decrease health for all wolfs, and if it's 0 it's killing wolf, if you instantiate wolf with 0 health and it will kill inmidiately so here is problem. Use something like that:

 // in Enemy script
 public float health;
 
 public void TakeDamage(float damage)
 {
 health = health - damage;
 if(health <= 0)
 // kill
 }


 // in Sword script
 public float swordDamage;
 
 void OnCollisionEnter(Collision col)
 {
 if(col.tag == "Enemy")
 col.gameObject.GetComponent<Enemy>().TakeDamage(swordDamage);
 }
 //you may check first if gameObjcet have got script "Enemy" but if tag is Enemy so let's say it will have that script





Comment
Add comment · 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

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

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Enemy Healthbar 1 Answer

My healtbar is not change when i look another enemy 0 Answers

Best way to make a health par over enemies 2 Answers

Enemy HealthBar Problems 2 Answers

C# Floating Health Bar 2 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