Table of Contents

核心概念

初级

本文介绍引擎中最重要的核心概念。

场景

场景(Scene)是可按需加载和卸载的实体集合。通常包含游戏的不同关卡或菜单。

在 Stride 中,场景可以包含子场景,子场景之间可以独立管理。

展示包含多个含实体子场景的场景结构的示意图。

实体

实体(Entity)代表场景中的不同对象,例如玩家、敌人、墙壁等。实体包含组件,用于定义其外观和行为。

组件

组件(Component)是可添加到实体上的可定制代码片段,用于赋予实体新功能。例如:玩家移动组件可以在按下键盘按键时使实体移动。

在代码中,组件是继承自 StartupScript、SyncScript 或 AsyncScript 的类。

using Stride.Engine;

namespace MyGame;

public class MyComponent : StartupScript
{
    public override void Start()
    {
        // 在此编写您的代码
    }
}

脚本类型

在 Stride 中,组件可以由以下 3 种脚本类型之一创建:

  • 启动脚本 — 仅在添加时运行一次的脚本。
  • 同步脚本 — 添加时运行一次,之后每帧运行的脚本。
  • 异步脚本 — 添加时仅运行一次的异步脚本,但可持续等待下一帧。

更多信息请参阅脚本类型。

资产与资源

资产(Asset) 是项目中元素的表示(如纹理),包含引擎中该元素的属性列表(例如 .sdmat、.sdprefab)。

资源(Resource) 是磁盘上包含数据的文件,例如项目中使用的图片(例如 .png、.mp3)。

资产本身不包含资源数据,而是引用资源。例如:纹理资产(.sdtex)引用位于资源文件夹中的图片(.png)。

项目结构

Stride 项目分为多个项目包,每个项目包包含各自的代码、资产和资源。

例如,一个新项目包含:

  • MyGame.Game — 包含游戏的内容。
  • MyGame.NameOfPlatform(如 MyGame.Windows)— 包含特定平台版本的游戏专属内容(如窗口图标)。

更多信息请参阅项目结构。