标签: godot4

如何使 Godot 中的用户控件自动将其子控件显示在我选择的内部容器内?

考虑一个充当用户提供的控件(如窗框)装饰器的控件。我希望我的控件具有窗口的所有常见逻辑(标题栏、可拖动窗口边框、隐藏窗口的按钮等),并且任何时候在主场景中实例化它时,我希望它“吃掉”其任何节点子节点并将它们放入我选择的容器中。

这是我制作的控件,LinesContainer容器是我希望其子级驻留的位置:

控制树 控制视觉

为了绝对清楚我的意思,当它被实例化到如下场景时,我希望它的子节点(在本例中为标签)表现得像节点的子节点LinesContainer一样:

在此输入图像描述

如果您完全熟悉 .Net XAML,这就是标签ContentPresenter在控件中的作用,它“吃掉”了Content整个控件的属性(即控件实例的子级,如上所述)并将其显示在该标签内,允许我在它周围(或者在它后面,或者在它上面,等等)创建我需要的任何东西。

有什么内置的东西吗ContentPresenter?或者如果没有,我将如何自己制作一些东西?如果可能的话,这也可以在编辑器中正常工作,允许我根据需要添加和删除项目并使其布局正确。

godot godot4

6
推荐指数
1
解决办法
292
查看次数

错误缺少在 Web 上运行 Godot 项目所需的以下功能:跨源隔离、SharedArrayBuffer

我将 godot 项目导出到 HTML5,上传到 itch.io 后出现错误Error The following features required to run Godot projects on the Web are missing: Cross Origin Isolation - Check web server configuration (send correct headers) SharedArrayBuffer - Check web server configuration (send correct headers)

我尝试使用不同的设置导出项目,但仍然得到 1 个结果。

godot godot4

3
推荐指数
1
解决办法
7626
查看次数

godot4游戏启动时如何设置屏幕分辨率

因为我的全屏godot 游戏可以在许多平台上使用(例如 Mac、Windows),所以我必须确保每次我的游戏第一次启动时,它都会检查其所在的操作系统和设备,并为设备设置正确的分辨率。我该怎么做呢?我想要这样的东西:

func _ready():
    device = project.get_device()
    project_settings.set_setting("window_width", device.width)
    project_settings.set_setting("window_height", device.height)
    project_settings.save()
Run Code Online (Sandbox Code Playgroud)

请注意,我编写的代码不是实际的 GDscript,它只是我想要的示例。

fullscreen screen-resolution godot4

2
推荐指数
1
解决办法
3382
查看次数

如何在 Godot 4 中等待补间

以前,在 Godot 3.1 中,我有类似的方法来等待 Tween 动画完成:

等待 current_screen.tween.tween_completed

其中补间是 current_screen 的一个节点。现在,据我了解,我们应该在需要时创建补间(如文档所示)。这使得 current_screen 没有补间节点,因此无法知道函数内创建的补间是否完成。

如何实现与 Godot 4 中 tween_completed 相同的行为?

godot4

2
推荐指数
1
解决办法
7364
查看次数

如何在 Godot 4 中连接带有额外参数的信号

这将是代码中给我带来错误的部分。

\n
for y in range(rows):\n        var row = []\n        for x in range(columns):\n            var label = Button.new()\n            row.append(label)\n            self.add_child(label)\n            label.group = "letters"  # Asignar el grupo "letters" a los botones\n            label.connect("pressed", self, "_on_LetterPressed", [x, y])  # Conectar la se\xc3\xb1al de presionado\n        grid.append(row)\n
Run Code Online (Sandbox Code Playgroud)\n

在 Godot 3 中,连接工作正常,但 label.groups 不起作用,我该如何在 Godot 4 中做到这一点?

\n

gdscript godot godot4

-3
推荐指数
1
解决办法
1431
查看次数

标签 统计

godot4 ×5

godot ×3

fullscreen ×1

gdscript ×1

screen-resolution ×1