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

相关推荐
少许极端2 小时前
算法奇妙屋(三十五)-贪心算法学习之路 2
学习·算法·贪心算法
`Jay2 小时前
Python Redis连接池&账号管理池
redis·分布式·爬虫·python·学习
red_redemption2 小时前
自由学习记录(146)
学习
风酥糖3 小时前
Godot游戏练习01-第18节-玩家死亡与复活,游戏失败检测
游戏·godot
pq113_63 小时前
开源软件学习笔记 - nanoModbus
笔记·学习·nanomodbus
似水明俊德3 小时前
12-C#.Net-加密解密-学习笔记
笔记·学习·oracle·c#·.net
chinalihuanyu3 小时前
Linux-应用编程学习笔记(五、系统信息和系统资源)
笔记·学习
C羊驼3 小时前
C语言学习笔记(十四):编译与链接
c语言·开发语言·经验分享·笔记·学习
_李小白3 小时前
【OSG学习笔记】Day 7: AutoTransform 类
笔记·学习