Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
关于无法Destroy掉List中已经在其他类中用方法Destroy过了的游戏物体
PublicFaith发起了问答2016-12-09
1
回复
2736
浏览

老师你好 我在Creator类中public一个List.stone 然后在下面每生成一个实例就会加入到这个List中 然后加了一个DestroyAll方法 for循环遍历一遍这个List  Destroy(stone[i])  stone.RemoveAt[i]  单独去运行其实是没有问题的

但是这里每次加入到List里面的实例 我在其他类中也有方法会去随机的Destroy 如果有提前消灭的stone 我在使用Creator中的Destroy方法 就会报错 说无法销毁已经销毁了的物体 因为在List中那个提前销毁的对象依然占有我的Count值

所以想问老师 有没有方法1.可以检测到游戏中的对象一旦被Destroy 就会自动去除在List中的索引

2.有List中的Count对象被摧毁了 就自动忽略 销毁剩余的 

所有回复
  • siki 2016-12-09

    1,你可以每个物体销毁前,给list发消息,移除自身

    2,或者你在list里面销毁之前,判断一下这个游戏物体是否==null,如果为空,说明已经被销毁了,那就只从list移除,不再destroy

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!