Godot引擎 4.0 文档 - 循序渐进教程 - 节点和场景

news/2024/11/13 3:30:29/

本文为Google Translate英译中结果,DrGraph在此基础上加了一些校正。英文原版页面:

Nodes and Scenes — Godot Engine (stable) documentation in English

节点和场景¶

在Godot 关键概念概述中,我们看到 Godot 游戏是一棵场景树,每个场景都是一棵节点树。在本课中,我们将对它们进行更多解释。您还将创建您的第一个场景。

节点¶

节点是游戏的基本构建块。它们就像食谱中的配料。Godot中有几十种节点,它们可以用于显示图像、播放声音、代表相机等等。

所有节点都具有以下特征:

  • 一个名字。

  • 可编辑的属性。

  • 他们收到回调以更新每一帧。

  • 您可以使用新的属性和功能扩展它们。

  • 您可以将它们作为子节点添加到另一个节点。

最后一个特征很重要。节点一起形成一棵树,这是组织项目的强大功能。由于不同的节点具有不同的功能,将它们组合起来会产生更复杂的行为。

正如我们之前看到的,您可以构建相机跟随的可玩角色,使用一个名为“Character”的CharacterBody2D 节点,包括一个Sprite2D节点、一个Camera2D节点和一个CollisionShape2D节点。

场景¶

当你在树中组织节点时,就像我们的角色一样,我们称之为构建场景。保存后,场景就像编辑器中的新节点类型一样工作,您可以在其中将它们添加为现有节点的子节点。在这种情况下,场景的实例显示为隐藏其内部结构的单个节点。

场景允许您根据需要构建游戏代码。您可以 组合节点来创建自定义和复杂的节点类型,例如可以奔跑和跳跃的游戏角色、生命条、可以与之交互的箱子等等。

Godot 编辑器本质上是一个场景编辑器。它有很多用于编辑 2D 和 3D 场景的工具,以及用户界面。Godot 项目可以根据需要包含任意数量的这些场景。该引擎只需要一个作为您应用程序的主场景。这是当您或玩家运行游戏时 Godot 将首先加载的场景。

除了像节点一样,场景还具有以下特征:

  1. 它们总是有一个根节点,就像我们示例中的“角色”。

  2. 您可以将它们保存到本地驱动器并稍后加载它们。

  3. 您可以根据需要创建任意数量的场景实例。您的游戏中可以有五个或十个角色,这些角色是从您的角色场景中创建的。

创建你的第一个场景¶

让我们用一个节点创建我们的第一个场景。为此,您需要先创建一个新项目。打开项目后,您应该会看到一个空的编辑器。

在空场景中,左侧的场景停靠栏会显示多个用于快速添加根节点的选项。“2D Scene”添加一个Node2D节点,“3D Scene”添加一个Node3D节点,“User Interface”添加一个Control节点。这些预设在这里是为了方便;它们不是强制性的。“其他节点”允许您选择任何节点作为根节点。在空场景中,“其他节点”相当于按下场景栏左上角的“添加子节点”按钮,通常会添加一个新节点作为当前选中节点的子节点。

我们将向场景中添加一个标签(Label)节点。它的功能是在屏幕上绘制文字。

按“添加子节点”按钮或“其他节点”创建根节点。

“创建节点”对话框打开,显示一长串可用节点。

选择标签节点。您可以键入其名称以过滤列表。

单击 Label 节点将其选中,然后单击窗口底部的 Create 按钮。

添加场景的第一个节点时会发生很多事情。场景更改为 2D 工作区,因为 Label 是 2D 节点类型。Label 出现在视口的左上角并被选中。节点出现在左侧的场景停靠栏中,节点的属性出现在右侧的检查器(Inspector)停靠栏中。

更改节点的属性¶

下一步是更改标签的“文本”属性。让我们将其更改为“Hello World”。

前往视口右侧的 Inspector 停靠栏。在 Text 属性下方的字段内单击并键入“Hello World”。

在您键入时,您将看到在视口中绘制的文本。

参考:您可以像我们对文本所做的那样编辑检查器中列出的任何属性。有关 Inspector dock 的完整参考,请参阅 The Inspector。

您可以通过选择工具栏中的移动工具在视口中移动标签节点。

选择标签后,单击并拖动视口中的任意位置以将其移动到由矩形分隔的视图中心。

运行场景¶

一切准备就绪,可以运行场景了!按屏幕右上角的播放场景按钮或按F6(在 macOS 上Cmd + R)。

弹出窗口邀请您保存场景,这是运行它所必需的。单击文件浏览器中的保存按钮将其保存为“label.tscn”。

iy

注:将场景另存为对话框与编辑器中的其他文件对话框一样,只允许您在项目内保存文件。窗口顶部的res://路径代表项目的根目录下的“资源路径” 。有关 Godot 中文件路径的更多信息,请参阅文件系统。

该应用程序应在新窗口中打开并显示文本“Hello World”。

关闭窗口或按F8(在 macOS 上Cmd + .) 退出正在运行的场景。

设置主场景¶

为了运行我们的测试场景,我们使用了 Play Scene 按钮。它旁边的另一个按钮允许您设置和运行项目的主场景。您可以按F5 (在 macOS 上Cmd + B) 来执行此操作。

出现一个弹出窗口,请您选择主场景。

单击选择按钮,在出现的文件对话框中,双击 label.tscn.

演示应再次运行。往后,每次运行项目时,Godot 都会使用这个场景作为起点。

注:编辑器将主场景的路径保存在项目目录中的 project.godot 文件中。虽然您可以直接编辑此文本文件以更改项目设置,但您也可以使用“项目 -> 项目设置”窗口来执行此操作。有关详细信息,请参阅 项目设置。

在下一部分中,我们将讨论游戏和 Godot 中的另一个关键概念:创建场景实例。


http://www.ppmy.cn/news/73890.html

相关文章

面试官:你的技术看起来像是初级

最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。 在沟通中发现,由…

敏捷项目管理阶段框架-推测阶段实践

推测阶段实践 关注产品和项目,创造和理解产品待办事项列表和发布计划 怎么做计划、怎么做需求 产品需求规划(怎么做计划) 洋葱圈 愿景、产品路线图、产品发布计划、迭代发布计划、每日计划 滚动式规划,渐进明细,走一…

“GPT+医疗健康”:给予医疗领域新机遇

现如今,GPT十分火热。随着人们对健康医疗的关注越来越热切,GPT已逐渐成为健康医疗领域的重要角色之一。GPT可以用于许多医疗语境中,如医学咨询、病症诊断、健康建议、在线问诊、患者教育、健康数据跟踪等。 GPT是一种基于深度学习的自然语言处…

Linux-搭建web服务器

综合练习:请给openlab搭建web网站 ​ 网站需求: ​ 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! ​ 2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.…

Java版本企业工程管理系统软件源码 自主研发,工程行业适用

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

腾讯云身份信息核验

前言 在工作中遇到需要验证姓名跟身份证号码是否匹配,使用腾讯云的身份信息认证即可完成 接口描述 接口请求域名: faceid.tencentcloudapi.com 。 传入姓名和身份证号,校验两者的真实性和一致性。 输入参数 参数名称类型描述IdCardString身份证号Na…

pygam第3课——画图小程序

前言:我们前两节课已经学习了,界面的设计、图片的加载、那么今天我们将继续学习pygame的基础知识,我们的今天学习的内容是:鼠标滑动时坐标的实时获取、鼠标的移动事件、鼠标的点击事件、图形绘制等。希望大家能 搭建界面&#xf…

电影票房之数据清洗(MapReduce)

第1关:数据清洗 任务描述 基于EduCoder平台提供的初始数据集(数据集存放在 /data/workspace/myshixun/data/movies.csv 中),按照下面的要求,完成电影票房数据的清洗工作。 编程要求 去掉字段“上映天数”中带有“零…