摞你命3000 发表于 2014-11-27 18:57

关于一个Destroy销毁的使用问题,很纠结,有图有真相!



using UnityEngine;
using System.Collections;

public class CollisionEffects : MonoBehaviour {
           
    public GameObject particleSystem;
    public GameObject body;
    public GameObject bomb;//这行代码是我加进去的,为了子弹能在碰撞时候触发这个爆炸效果,这个爆炸效果是个预制物体prefabs。
    private Component emitter;
       
    void Awake()
    {
      Destroy(gameObject,2);

    }
               
    void OnCollisionEnter(Collision collisionInfo)
    {
       Instantiate(bomb,transform.position,transform.rotation);//这行代码是我加进去的,检测碰撞正在进行中就触发bomb炸弹效果在当前位置

      StartCoroutine(End());

    }
    IEnumerator End()
    {
      gameObject.rigidbody.velocity = Vector3.zero;
      yield return new WaitForSeconds(0.2f);      
      Destroy(gameObject);

    }


}



子弹可以被Destroy掉,可是爆炸物体bomb却无法销毁,这样下来,时间长了,内存岂不是被撑爆?请大神指点,跪谢!


liujufu 发表于 2014-12-1 10:31

你不会给爆炸也destroy呀

whqydcg2007 发表于 2014-12-1 13:16

我刚做了一个飞机游戏,我的处理是将爆炸离子作为子弹的子物体,当子弹需要销毁时将子弹进行隐藏,然后激活离子爆炸等离子爆炸完后再将子弹Destroy;这样只要子弹销毁,离子系统也将销毁。

摞你命3000 发表于 2014-12-1 15:10

liujufu 发表于 2014-12-1 10:31 static/image/common/back.gif
你不会给爆炸也destroy呀

谢谢,发帖完了后我就想到了,已经解决这个问题了。。。。

摞你命3000 发表于 2014-12-1 15:11

whqydcg2007 发表于 2014-12-1 13:16 static/image/common/back.gif
我刚做了一个飞机游戏,我的处理是将爆炸离子作为子弹的子物体,当子弹需要销毁时将子弹进行隐藏,然后激活 ...

呵呵 也不错 只不过我觉得直接碰撞后销毁更直接,子弹挂爆炸,子弹和爆炸都是预制物体,各自带销毁即可。

jukai7 发表于 2017-2-12 14:05

好帖就是要顶

scp306806106 发表于 2017-2-12 13:49

真心顶

scp306806106 发表于 2017-2-12 14:23

很好哦

LanChong101 发表于 2017-2-12 13:48

不错不错

葉明豬 发表于 2017-2-12 13:45

LZ真是人才
页: [1]
查看完整版本: 关于一个Destroy销毁的使用问题,很纠结,有图有真相!