我在场景第一次初始化时,instantiate了很多节点,并且这些节点都存在一个数组里。
初衷是,当第二次再返回到这个场景时,不需要再重新实例化节点,直接从数组里拿,节省开销。
但是现在发现一个问题,当我返回场景,从数组里拿之前的节点时,第一次拿是没问题的,但是第二次拿,因为切换场景了,引用的节点都被销毁了,连带着数组里存的原始节点也被销毁了。这种有办法解决吗?
搞一个常驻节点,实例化的节点放在常驻节点的数组里面
挂在常驻节点上
正常来说,你可以在场景的生命周期里onDisable或者onDestroy中,把数组里面的节点从父节点移除(removeFromParent),下次再进来的时候再去addChild。 但是我最近在2.4.11里面不好用。 出现数据没问题,但是节点不显示的问题; 你可以试试。我印象之前3.x是没问题的。