考虑一个充当用户提供的控件(如窗框)装饰器的控件。我希望我的控件具有窗口的所有常见逻辑(标题栏、可拖动窗口边框、隐藏窗口的按钮等),并且任何时候在主场景中实例化它时,我希望它“吃掉”其任何节点子节点并将它们放入我选择的容器中。
这是我制作的控件,LinesContainer容器是我希望其子级驻留的位置:
为了绝对清楚我的意思,当它被实例化到如下场景时,我希望它的子节点(在本例中为标签)表现得像节点的子节点LinesContainer一样:
如果您完全熟悉 .Net XAML,这就是标签ContentPresenter在控件中的作用,它“吃掉”了Content整个控件的属性(即控件实例的子级,如上所述)并将其显示在该标签内,允许我在它周围(或者在它后面,或者在它上面,等等)创建我需要的任何东西。
有什么内置的东西吗ContentPresenter?或者如果没有,我将如何自己制作一些东西?如果可能的话,这也可以在编辑器中正常工作,允许我根据需要添加和删除项目并使其布局正确。
我将 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 游戏可以在许多平台上使用(例如 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,它只是我想要的示例。
以前,在 Godot 3.1 中,我有类似的方法来等待 Tween 动画完成:
等待 current_screen.tween.tween_completed
其中补间是 current_screen 的一个节点。现在,据我了解,我们应该在需要时创建补间(如文档所示)。这使得 current_screen 没有补间节点,因此无法知道函数内创建的补间是否完成。
如何实现与 Godot 4 中 tween_completed 相同的行为?
这将是代码中给我带来错误的部分。
\nfor 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)\nRun Code Online (Sandbox Code Playgroud)\n在 Godot 3 中,连接工作正常,但 label.groups 不起作用,我该如何在 Godot 4 中做到这一点?
\n