求助贴,背包箱子存入拿出技术问题
unity3d吧
全部回复
仅看楼主
level 5
条件:图一是box的UI gameobject结构图
图二是归于canvas_box下的脚本组件
需求:通过点击button触发button内的点击脚本,在点击脚本中获取图二中的PlayerBag
问题:图三通过断点检查发现无论如何红框内的值都为Null,后续以为是层级问题更换寻找父级逻辑(图四)依旧将红框内两个数值判断为Null
求助过ai(图五),但是经检查应该没有这样的问题
拜托了,大佬们[泪][泪]孩子真没招了(如需补充信息,我会尽快补充)
2025年11月06日 18点11分 1
level 3
GetComponent<>(true),在这个方法的参数里写true, 就能获取gameobject未激活状态下的组件。你可以试一下
2025年11月07日 04点11分 0
感谢!!!我这就去试试
2025年11月07日 15点11分
不行,说是参数内不接受单个布尔参数的重载
2025年11月07日 16点11分
level 5
!!!大佬们,我发完贴突然意识到大概问题了
canvas_box长期处在禁用状态,只有触发open条件才会打开,而问题在于在没有打开之前canvas_box的脚本组件还会存在,一旦打开之后canvas_box里的脚本组件就会消失,故而无法调取找到
2025年11月06日 19点11分 2
这可能是什么原因,或者怎么解决
2025年11月06日 19点11分
level 1
你的playerbag,确认不是空吗
2025年11月06日 23点11分 3
二楼里面,我的确是发现playerbag是空的
2025年11月07日 15点11分
level 2
boxslotParent 这个变量怎么声明的?明显就是GetComponent没有找到你这个inventorymanage脚本所以返回了空。你自己再好好看看吧,截图截一小点我很难分析什么
2025年11月07日 02点11分 4
好的大佬
2025年11月07日 15点11分
level 5
已解决,inventorymannage脚本为全局唯一实例,后续删除该脚本,并为canvas_box弄了个新的纯挂属性的脚本
2025年11月07日 17点11分 6
level 6
所有有可能null都可能你搞了单例子以后不要看着ai无脑写awake (≠null)就销毁
2025年11月08日 02点11分 7
的确是这个的问题[乖]
2025年11月12日 05点11分
1