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

相关推荐
red_redemption8 分钟前
自由学习记录(183)
学习·ue项目改名字的学问
lizhihai_9911 分钟前
股市学习心得-智能体顶层设计文件收益供应链
大数据·人工智能·学习
中草药z17 分钟前
【测试基础】Python 核心语法,一篇搞定测试脚本开发基础
开发语言·笔记·python·学习·测试·语法
一口吃俩胖子40 分钟前
【脉宽调制DCDC功率变换学习笔记020】频域性能准则
笔记·学习
pottichu1 小时前
claud code 学习记录
学习
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_40:(DOMImplementation 接口完全解析)
前端·ui·html·媒体
被考核重击2 小时前
WASM学习笔记
笔记·学习·wasm
MediaTea2 小时前
人工智能通识课:机器学习之监督学习
人工智能·学习·机器学习
三品吉他手会点灯2 小时前
C语言学习笔记 - 27.C编程预备计算机专业知识 - 什么是字节
c语言·开发语言·笔记·学习
yunhuibin2 小时前
videopipe学习之节点数据流转机制探索
学习