📜  Godot中的行编辑

📅  最后修改于: 2021-01-02 09:46:53             🧑  作者: Mango

在Godot中进行线编辑

在本教程中,我们看到了如何以程序员的身份向自己显示文本,以及如何将其显示在输出中以及如何向播放器显示文本。这不仅可能是我们游戏中的关键组成部分,而且也是将来我们可能制作的许多游戏的基本原理。我们现在必须使用Godot引擎

行编辑文本编辑。现在它们之间的区别是我们希望玩家能够按回车键转到下一行或返回输入文本,而行编辑允许玩家输入单行文本,例如,如果我们要输入名称或用一个字写一个文本,这是我们希望人们填写大量信息的地方,因此,如果我们要制作角色扮演游戏,并且希望玩家写自己的日记,我们会使用文本编辑,我不想要做到这一点。

LineEdit区域:

然后,我们可以其拖动到所需的任何位置。并根据我们的用途使其更大。

输出:这是我们可以写入的框。

这是一种文本编辑器,如下所示。

然后,我们必须添加一个HBoxContainer。 HBoxContainer(水平框容器)包含一列中的内容。

但是这里我们创建VBoxContainer 。我们将LineEditDisplayText放入VBoxContainer中。因此,我们将拖动LineEditdisplayText,如下所示:

我们可以在屏幕截图中看到以下内容:

然后,我们可以像这样将displayText拖动到LineEdit的上方。

让我们从开始结束改变VBoxContainer(立式箱集装箱)的对齐方式

单击VBoxContainer ,然后从开始结束更改对齐方式。

输出:

我们可以根据需要更改锚点,也可以根据我们的要求更改边距和所有内容。

之后,我们必须选择LineEdit并更改其字体数据,大小,间距和所有我们需要的。

我们还可以根据用途更改或调整字体大小和轮廓。

如果运行此命令,则会给我们以下错误

它不起作用,因为我们的脚本指向了某个东西。在美元($)符号后在编码区域中拖动DisplayText,如下所示:

然后我们必须删除逗号,如下面的屏幕截图所示:

extends Control
func _ready():
    var prompts = ["MANGO", "Papaya", "Glorious","pleasant"]
    var story= "There are many trees of %s and %s in the %s garden. And a %s morning"
    print(story%prompts)
    $VBoxContainer/DisplayText.text= story%prompts

码:

然后将输出

如果我们在下面的文本框中输入任何内容,则不会发生任何事情,如下所示:

然后,我们将名称LineText重命名为PlayerText

选择它之后,在PlayerText的右侧有所有这些选项:在Node选项中,有许多函数可以使用。

右键单击PlayerText ,然后单击链接上的“打开文档”。

然后它将在我们的屏幕中打开:

向下滚动后:

然后单击text_entered()从右侧进行连接。

在这里我们无法连接它,因此我们将其关闭。

我们将在这里选择隆重的嘴唇:


在代码部分,我们与Lonny Lips相连;

码:

extends Control
func _ready():
    var prompts = ["MANGO", "Papaya", "Glorious","pleasant"]
    var story= "There are many trees of %s and %s in the %s garden. And a %s morning"
    print(story%prompts)
    $VBoxContainer/DisplayText.text= story%prompts
func _on_PlayerText_text_entered(new_text):
    $VBoxContainer/DisplayText.text= new_text

屏幕截图:

输出:在这里我们可以看到它现在正在工作。我们在TextBox中编写的所有内容都会显示在屏幕上。

在下面的代码中,我们添加了一个PlayerText.clear()函数,用于在输出屏幕中看到在文本框中编写的内容,并将其清除到Textbox中,以便我们可以在TextBox中编写其他内容。此代码有助于在编写后清除文本框。

extends Control
func _ready():
    var prompts = ["MANGO", "Papaya", "Glorious","pleasant"]
    var story= "There are many trees of %s and %s in the %s garden. And a %s morning"
    print(story%prompts)
    $VBoxContainer/DisplayText.text= story%prompts
func _on_PlayerText_text_entered(new_text):
    $VBoxContainer/DisplayText.text= new_text
    $VBoxContainer/PlayerText.clear()

屏幕截图:


我们还可以使用此代码使它更简洁并易于理解:

extends Control
func _ready():
    var prompts = ["MANGO", "Papaya", "Glorious","pleasant"]
    var story= "There are many trees of %s and %s in the %s garden. And a %s morning"
    print(story%prompts)
    $VBoxContainer/DisplayText.text= story%prompts
func _on_PlayerText_text_entered(new_text):
    update_DisplayText(new_text)


func update_DisplayText(new_text):
    $VBoxContainer/DisplayText.text= new_text
    $VBoxContainer/PlayerText.clear()

输出:

在下一个教程中,我们将了解Button。我们如何同时使用TextBoxButtons。