查看: 80|回复: 1

[随便问问] 当inspector发生改变时OnValidate,调用destory报错

[复制链接]

442

主题

75

听众

4092

积分

头头

Rank: 12Rank: 12Rank: 12

发表于 2020-4-9 13:44 |显示全部楼层
共享资源获取更多积分!share your resources get more credits!
Destroying GameObjects immediately is not permitted during physics trigger/contact, animation event callbacks or OnValidate. You must use Destroy instead.

报错,如何删除子节点在这个方法中》?
人人为我 我为人人 互相分享 互相学习 互相进步 一带一路

442

主题

75

听众

4092

积分

头头

Rank: 12Rank: 12Rank: 12

发表于 2020-4-9 13:45 |显示全部楼层

    void OnValidate()
    {
#if UNITY_EDITOR
        UnityEditor.EditorApplication.delayCall += () =>
        {
            createReels();
        };  
#endif  
        

        // Main();
    }

加入延迟执行,并且销毁方法改为
while (gameObject.transform.childCount > 0)
        {
            DestroyImmediate(gameObject.transform.GetChild(0).gameObject);
        }
人人为我 我为人人 互相分享 互相学习 互相进步 一带一路
回复

使用道具 举报

温馨提示:求助请到“Unity技术讨论”版块中发帖,便于集中解决!
您需要登录后才可以回帖 登录 | 立即注册

懒人模式:

关闭

站长推荐 上一条 /1 下一条

Unity3D游戏开发联盟(资源共享平台) -Unity3D,Unreal ( 粤ICP备20003399号-2 )

GMT+8, 2020-5-31 01:45 , Processed in 0.050472 second(s), 35 queries .