Godot:当父节点不可见时,作为 Node2D 子节点的节点保持可见

Godot: Node as child of Node2D stays visible when parent turns invisible

将 Node2D 变为不可见不适用于它的基础-class-节点子节点——它们保持可见。将它们的类型更改为 Node2D 然后使它们与父级一起变得不可见。

我看到一个基节点不能被隐藏起来,但是有一些深埋在我的场景树中,我想知道在这种情况下让它们采用它们父节点的行为是否不切实际.

这种行为有原因吗?在这种情况下,我能否以某种方式使节点不可见?

Node2D 的继承链如下所示:

Node2D < CanvasItem < Node < Object

visibility 属性 在 CanvasItem 上。因此,Node2D 具有 属性,因为它继承自 CanvasItemNode 没有 visibility 属性,因此不可能在那里设置这样的 属性。

此外,Node 物品本身在游戏中是不可见的。也就是说,默认情况下不为其呈现任何内容。


Sprite1
    Node2D
        Sprite2

如果您关闭 Sprite1 的可见性,那么 Sprite2 也会变得不可见。

但是,使用这种结构:

Sprite1
    Node
        Sprite2

关闭 Sprite1 的可见性不会影响 Sprite2 的可见性。

(感谢 godotengine.org 上的 Jgodfrey!)