• 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 Note4 · Jul 23, 2014 at 08:35 AM · destroygameobject

Destroying an object in sequence with button press.

Hey, Im trying to figure out how to destroy 3 cubes in sequence with a button press. Cubes 1,2,3.... the 3rd cube can't be destroyed until 2 is destroyed, and 2 can't be destroyed until 1 is destroyed. So far I have

using UnityEngine; using System.Collections;

  public class Hit : MonoBehaviour {
      public GameObject cube1;
  public GameObject cube2;
  public GameObject cube3;
      void Start () 
      {
      }
      void Update () 
      {
          if (Input.touchCount >0) 
          {
              RaycastHit hit;
              Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
              if (Physics.Raycast(ray, out hit))
                  if (hit.collider.gameObject.tag =="new")
              {
                  Destroy(cube1);
                            Destroy(cube2);
                            Destroy(cube3);
              }       
          }
      } 
  }

I would drag the cube to be destroyed into the script but when I press the button they would all get destroyed.I'm fairly new at this so a push in the right direction would greatly help...thanks

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
1

Answer by Tehnique · Jul 23, 2014 at 08:44 AM

You need to wait a little after each destroy, I'm guessing that's the effect you are after. Something like this should work:

 void Update () 
     {
         if (Input.touchCount >0) 
         {
             RaycastHit hit;
             Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
             if (Physics.Raycast(ray, out hit))
                 if (hit.collider.gameObject.tag =="new")
             {
                 DestroyCubes(new List<GameObject>(){cube1, cube2, cube3});
             }       
         }
     } 
 
  IEnumerator DestroyCubes(List<GameObject> cubesToDestroy) 
  {
     foreach(var cubeToDestroy in cubesToDestroy)
     {
         Destroy(cubeToDestroy);
         yield return new WaitForSeconds(1);
     }
  }

Just be sure to add your cubes to the list sent as parameter in the order you want them destroyed. Also, be sure to add a bool that tells you if the game is in the process of destroying the cubes, so you don't call the coroutine multiple times.

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

How to Destroy a 2D sprite 0 Answers

Can't destroy my bullet 0 Answers

How to instantiate and destroy objects with 2d trigger 1 Answer

How to play audio clip when destroying an object? 2 Answers

Spawn an object and destroy it 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