找回密码
 立即注册
查看: 4356|回复: 104

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

[复制链接]
发表于 2014-11-27 18:57 | 显示全部楼层 |阅读模式


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却无法销毁,这样下来,时间长了,内存岂不是被撑爆?请大神指点,跪谢!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2014-12-1 10:31 | 显示全部楼层
你不会给爆炸也destroy呀

点评

谢谢,发帖完了后我就想到了,已经解决这个问题了。。。。  详情 回复 发表于 2014-12-1 15:10
发表于 2014-12-1 13:16 | 显示全部楼层
我刚做了一个飞机游戏,我的处理是将爆炸离子作为子弹的子物体,当子弹需要销毁时将子弹进行隐藏,然后激活离子爆炸等离子爆炸完后再将子弹Destroy;  这样只要子弹销毁,离子系统也将销毁。

点评

呵呵 也不错 只不过我觉得直接碰撞后销毁更直接,子弹挂爆炸,子弹和爆炸都是预制物体,各自带销毁即可。  详情 回复 发表于 2014-12-1 15:11
 楼主| 发表于 2014-12-1 15:10 | 显示全部楼层
liujufu 发表于 2014-12-1 10:31
你不会给爆炸也destroy呀

谢谢,发帖完了后我就想到了,已经解决这个问题了。。。。
 楼主| 发表于 2014-12-1 15:11 | 显示全部楼层
whqydcg2007 发表于 2014-12-1 13:16
我刚做了一个飞机游戏,我的处理是将爆炸离子作为子弹的子物体,当子弹需要销毁时将子弹进行隐藏,然后激活 ...

呵呵 也不错 只不过我觉得直接碰撞后销毁更直接,子弹挂爆炸,子弹和爆炸都是预制物体,各自带销毁即可。
发表于 2017-2-12 14:05 | 显示全部楼层
好帖就是要顶
发表于 2017-2-12 13:49 | 显示全部楼层
真心顶
发表于 2017-2-12 14:23 | 显示全部楼层
很好哦
发表于 2017-2-12 13:48 | 显示全部楼层
不错不错
发表于 2017-2-12 13:45 | 显示全部楼层
LZ真是人才
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-30 04:45 , Processed in 0.198575 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表