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

相关推荐
lizhihai_9942 分钟前
股市学习心得-AI算力20大硬件四金刚
学习
卖芒果的潇洒农民42 分钟前
【0417】学习路线
学习
han_hanker2 小时前
RequestAttributes , ServletRequestAttributes学习
学习
weixin_513449963 小时前
PCA、SVD 、 ICP 、kd-tree算法的简单整理总结
c++·人工智能·学习·算法·机器人
鱼鳞_3 小时前
Java学习笔记_Day29(异常)
java·笔记·学习
嵌入式小企鹅3 小时前
DeepSeek-V4昇腾首发、国芯抗量子MCU突破、AI编程Agent抢班夺权
人工智能·学习·ai·程序员·算力·risc-v
Amazing_Cacao4 小时前
CFCA精品可可产区认证课程风土解析(亚洲):撕开标签伪装,将微气候差异转化为可用变量
学习
我的xiaodoujiao4 小时前
API 接口自动化测试详细图文教程学习系列11--Requests模块3--测试练习
开发语言·python·学习·测试工具·pytest
墨澜逸客5 小时前
《华胥文化》百回大纲
学习·其他·百度·学习方法·新浪微博
Stella Blog5 小时前
狂神Java基础学习笔记Day04
java·笔记·学习