调用单例获取Node为空


image
image
在别的地方调用
image
输出的内容为空。

自己的解决方法:
image
image
image

虽然解决了但是不知道是为什么。

因为你上面的单例中 new了一个新的GameManager,所以homePanel是没有赋值的

1赞

你这个homePanel怎么赋值的?编辑器里面托?挂载在节点下的GameManager和GameManager.Instance是同一不?

1赞

外面拖拽赋值

怎么才能解决这个问题?

你想要操作什么?想干啥?

GameManager组件onLoad的时候, GameManager._instance=this. 不用new新的

1赞

image

1赞

想要控制这个 Node 的 active ,问题原因找到了,因为获取单例的时候 new 了一个新的对象,所以下面拖拽赋值的Node都为空。

节点可以在代码中获取,界面上托不推荐

1赞

image
您这个报错也没问题吗?

._instance

1赞

好的知道啦,非常感谢!

image
最后是这样的

如果你要用Instance = xxx,的话,你的Instance要定义set() 函数

1赞

image
像这样?我还是感觉上一个比较简单一点。总之非常感谢啦


image
image

给你一个建议,这样定义一下,然后代码中可以直接根据节点名称获取到对应的节点

1赞

单例的话,肯定是不开放set最好

1赞

好的好的,学习啦

我也常来提问题,互帮互助,:smile:

1赞