Godot学习04 - UI界面

在游戏开发中,UI界面往往是游戏世界的皮肤。本篇作为Godot学习的第四站,我们将正式踏入UI设计的大门,学习如何构建清晰、美观且交互友好的操作界面。


1.新建场景,场景根节点类型为2D Scene

2.添加Label节点

3.修改Label节点名为Title,设置Size

4.与Unity/UE不同,Godot修改UI样式可配置至统一的资源文件中,这样便于统一项目样式与修改。新建Label Settings便于后序修改字体大小。

5.将Size改为200px,填入Text内容。

6.添加CenterContainer节点与VBoxContainer节点,CenterContainer可以让内容居中显示,VBoxContainer可以让内容垂直排布,类似Unity的VerticalLayoutGroup或者UE的Vertical Box。

7.在VBoxContainer内添加Button组件,增加一些按钮

8.讲下另一种配置UI元素样式的方法,找到ThemeOverrides可以进行修改,例如修改Font Sizes。

9.接下来编写面板脚本,可以直接挂载于根节点上。

csharp 复制代码
using Godot;
using System;

public partial class ButtonPanel : Node2D
{
	[Export]
	private Button playButton;
	
	[Export]
	private Button creditsButton;
	
	[Export]
	private Button exitButton;
	
	
	public override void _Ready()
	{
		playButton.Pressed += OnPlayButtonPressed;
		creditsButton.Pressed += OnCreditsButtonPressed;
		exitButton.Pressed += OnExitButtonPressed;
	}
	
	private void OnPlayButtonPressed()
	{
		GD.Print("Play Button Pressed!");
	}
	
	private void OnCreditsButtonPressed()
	{
		GD.Print("Credits Button Pressed!");
	}
	
	private void OnExitButtonPressed()
	{
		GD.Print("Exit Button pressed!");
	}
	
	// 当脚本被移除或节点被销毁时,断开信号连接
	public override void _ExitTree()
	{
		playButton.Pressed -= OnPlayButtonPressed;
		creditsButton.Pressed -= OnCreditsButtonPressed;
		exitButton.Pressed -= OnExitButtonPressed;
	}
}

10.挂载好后将面板节点拖入脚本控件中

11.运行后测试,可打印Log

相关推荐
MartinYeung517 分钟前
[论文学习]潜伏代理:训练能够经受安全训练的欺骗性大语言模型深度分析
学习·安全·语言模型
撩得Android一次心动20 分钟前
Kotlin 语言【知识点整理3】
java·开发语言·笔记·学习·kotlin
石头猫灯1 小时前
一次 CMS 被黑实录:完整事件思路梳理
android·学习
AIkk861 小时前
2026AI智能体培训机构客观测评|零基础到进阶全方位择校指南
学习
M78佐菲1 小时前
Linux学习笔记:进程回收、exec函数簇与线程
linux·笔记·学习·算法
小眼睛和小僵尸2 小时前
【咨询】想问下宇宙的一些事情
学习·全球发展
苦猿的大模型日记2 小时前
Day51|从0学习Claude Code(一):一个while循环加一个Bash,复刻Claude Code的心脏
人工智能·学习·bash
一条泥憨鱼2 小时前
【从0开始学习计算机网络】| DNS 污染、劫持与 CDN:你的网页是怎么被“掉包“的
学习·计算机网络·安全·http·https·dns
poiu12346572 小时前
AI FDE技术学习平台对比测评 2026零基础技术学习参考
人工智能·学习
Bruce_Liuxiaowei2 小时前
从基础理论开始学习人工智能(二):应用和方法——从拼图游戏到神经网络
人工智能·神经网络·学习