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

(197评价)
价格: 4431.00元
字典Dictionary>里面的 移除键值对的问题
雨落随风发起了问答2017-06-29
2
回复
3088
浏览

字典Dictionary<int,GameObject> Dict使用Dict.Remove(1)来移除键值对,那么这个GameObject游戏对象是不是还存在在内存中?

要不要在Move前,提前先把这个GameObject Destory掉?

就想下面这个代码写的那样?Destory后有必要给字典的原来那个值赋null吗?

 public void RemoveModel(int userindex)
 {
     if (playermodel.ContainsKey(userindex)) //----
     {
         GameObject go = playermodel[userindex];
         Destroy(go);
         playermodel[userindex] = null;
         playermodel.Remove(userindex);
         values[userindex] = -1;
     }
 }

 

所有回复
  • siki 2017-06-29

    对于游戏物体来说,从字典里面移除了,只是移除了对这个游戏物体的引用,游戏物体还存在于场景之中,如果不想让它存在于场景之中,可以使用Destroy进行移除

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2017-06-29
    playermodel[userindex] = null;
             playermodel.Remove(userindex);

    这里直接移除就好,不用设置为null, 它设置为null可能也是为了安全起见,表示原来的对象我不引用了

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