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 Dreave · Oct 22, 2011 at 12:05 PM · destroyenemy

Destroy Scripting Help

How would I go about scripting that if a bullet prefab collides with an enemy say 5 times the enemy will destroy itself? Ive already wrote out a script that destroys an object called enemy when the bullet prefab collides with it but im not sure about rest of it, can anyone help me?

here's the script

 function OnCollisionEnter(myCol: Collision){



 if(myCol.gameObject.name == "enemy"){

    Destroy(myCol.gameObject);

}

}

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

Answer by aldonaletto · Oct 22, 2011 at 12:22 PM

The traditional way to do that is to have a Damage function in the enemy, and call it with SendMessage in the bullet script.
Modify the bullet script as follows:

function OnCollisionEnter(myCol: Collision){
  if(myCol.gameObject.name == "enemy"){ // comparing tags would be safer!
    // call the function Damage(20) in the enemy
    myCol.gameObject.SendMessage("Damage", 20, SendMessageOptions.DontRequireReceiver);
  }
  Destroy(gameObject); // destroy the bullet to avoid multiple hits
}
And attach this code to the enemy script:

var health = 100;

function Damage(dmg: int){ health -= dmg; // reduce health if (health

Comment
Add comment · Show 4 · 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 Dreave · Oct 22, 2011 at 12:34 PM 0
Share

There's an error saying

"method not found: UnityEngine.Collision.Send$$anonymous$$essage"

Can you please help?

avatar image syclamoth · Oct 22, 2011 at 12:56 PM 1
Share

aldonaletto made a mistake! Replace that line with

 myCol.transform.Send$$anonymous$$essage("Damage", 20, Send$$anonymous$$essageOptions.DontRequireReceiver);
avatar image aldonaletto · Oct 22, 2011 at 01:00 PM 0
Share

As @syclamoth said, I forgot the object reference - it should be:

 myCol.transform.Send$$anonymous$$essage(...);

or

 myCol.gameObject.Send$$anonymous$$essage(...);

Or any other object component referenced in myCol. I fixed that in the answer.

avatar image Dreave · Oct 22, 2011 at 01:20 PM 0
Share

cheers guys

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Enemy's wont die if spawned 1 Answer

Destroy enemy using raycasts 2 Answers

The name 'Joystick' does not denote a valid type ('not found') 2 Answers

Enemy Follow Script Help 2 Answers

Need help with enemy spawner 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