2014-11-14 58 views
0

在这段代码中破坏弹丸的尝试不起作用。任何建议表示赞赏。Unity3D试图销毁实例化的弹丸

  Rigidbody InstantiateedProjectileLeft = Instantiate(cannonAmmo, firingPointLeft.transform.position, firingPointLeft.transform.rotation) as Rigidbody; 
      if (InstantiateedProjectileLeft != null) 
      { 
       //print ("Firing projectile"); 
       InstantiateedProjectileLeft.transform.Translate(Vector3.forward); 
       InstantiateedProjectileLeft.rigidbody.AddForce(transform.forward * cannonAmmoSpeed); 
       //print (InstantiateedProjectileLeft.transform.position.y); 
       print ("Destroying left projectile"); 
       //InstantiateedProjectileLeft.renderer.material.color = Color.clear; 

       Destroy(InstantiateedProjectileLeft, 1.0f); // Doesn't work 
      } 

      Rigidbody InstantiateedProjectileRight = Instantiate(cannonAmmo, firingPointRight.transform.position, firingPointRight.transform.rotation) as Rigidbody; 
      if (InstantiateedProjectileRight != null) 
      { 
       //print ("Firing projectile"); 
       InstantiateedProjectileRight.transform.Translate(Vector3.forward); 
       InstantiateedProjectileRight.rigidbody.AddForce(transform.forward * cannonAmmoSpeed); 

       Destroy(InstantiateedProjectileRight, 1.0f); // Doesn't work 
      } 
+0

尝试'摧毁(InstantiatedProjectileLeft.gameObject,...)' – luqui 2014-11-14 21:43:05

+0

感谢。 gameObject的作品。 – jadkins4 2014-11-15 03:56:31

回答

2

你需要调用销毁的游戏对象:

Destroy(InstantiatedProjectileLeft.gameObject); 
+0

非常感谢。这工作。我抬头看着Destroy并没有看到gameObject部分。仍在学习。 – jadkins4 2014-11-15 01:49:13