如何将文本粘贴到屏幕上?

How can I stick text to the screen?

如何将文本粘贴到屏幕上?

我有一个附加了 Camera2D 的播放器 (Node/Node2D/KinematicBody2D)。 我有标签 (Node/Control/Label).

我希望文本始终显示在屏幕上,例如 this.

当玩家移动时,标签 stays on.

可能最简单的方法是使用一个 CanvasLayer(或多个 CanvasLayer)。它的要点是 Camera 将被限制在它的 canvas 层,所以你需要做的就是将 UI 放在与世界分开的 CanvasLayer 中.


一种更复杂但更通用的方法是使用 Viewport。这个想法是,您将把游戏世界放在 Viewport 中,而 Viewport 将放在 ViewportContainer 中。这将允许您为游戏世界和 UI 设置不同的分辨率,这可能对像素艺术游戏有用。参见 How to make a silky smooth camera for pixelart games in Godot