Godot进行2D游戏开发入门-安装与介绍(CSharp)

前言

开发2D游戏推荐使用Unity和Godot,但是Unity老是作妖,所以还是推荐使用Godot。

本文使用的是Godot4.5.1 .NET版本。

官方文档

https://docs.godotengine.org/zh_CN/latest/about/introduction.html

语言推荐

Godot支持的编程语言有GDScript和C#。

之前我是推荐GDScript的,但是现在更推荐C#,主要有两点

  • C# 在AI提醒方面优于GDScript。
  • C# 也方便大一点的项目代码管理。

平台支持

Godot 支持哪些平台?

编辑器:

  • Windows
  • macOS
  • X11(Linux、*BSD)
  • Web
  • Android(实验性)

导出游戏:

  • Windows(以及 UWP)
  • macOS
  • X11(Linux、*BSD)
  • Android
  • iOS
  • Web

下载与安装

推荐直接从官网下载,最新版本是4.5.1,从Steam也可以下载,Steam版本不支持C#,并且运行的时候必须运行Steam。

软件下载

下载地址

Godot Engine - 免费开源的 2D 与 3D 游戏引擎

.NET下载

浏览要下载的所有 .NET 版本| .NET

这里推荐使用8.0版本

导出模板下载

导出游戏的时候要设置导出模板

Download for Windows – Godot Engine

image-20260102193507734

基础概念

场景(Scenes)

Godot的场景不仅包含关卡,同时可以是人物、物体、场景、布景、菜单等等各种资产和资源。

场景可以嵌套使用,可以将人物和物体放置于关卡中等。

场景支持继承和扩展。

节点(Nodes)

节点是场景的组成部分,是游戏的最小组成单元。对象的一种。

镜头、精灵、碰撞、动画等等都是节点的一种。

节点的显示方式受上下关系影响,列表下面的节点会显示在画面上层。

场景树(Scene Tree)

由若干场景组成的树形结构。由于场景是由节点构成的树,因此场景树也是包含了大量节点的树。

信号(Signals)

当节点被事件触发时可以发出信号,用来和其他节点通信。

使用时要特别小心。

文件夹结构

我开发时按照以下目录进行分类管理文件

  • dist(游戏导出目录)
  • addons(插件)

  • scenes(游戏场景)

  • scripts(脚本)

    • scenes(场景中挂载代码)
    • autoload(自动加载、单例)
    • util(工具类)
    • common(通用文件,供全局使用)
  • assets(资源文件)

    • images(图片)
    • icon(应用图标)
    • vfx(视觉特效)
    • music(背景音乐)
    • sound(音效)
    • shader(着色器)

代码忽略配置

.gitignore

1
2
3
# Godot 4+ specific ignores
.godot/
dist/