【Godot4自学手册】第四十一节背包系统(一)UI设置

各位同学,好久没有更新笔记了,今天开始,我准备自学背包系统。今天先学习下UI界面设置。

一、新建场景和结点

1.新建Node2D场景,命名为Inventory,保存到Scenes目录下,inventory.tscn。
2.新建TextureRect子节点。
3.为根节点添加GridContainer子节点
4.为GridContainer节点添加Panel子节点,命名为Slot1。
这时候,结点目录如下:
请添加图片描述

二、设置结点属性

1.设置BackGround属性。 将BackGround命名为GridContainer在BackGround检查器中,将TextureRect->Texture设置背包背景图片。
请添加图片描述

2.设置Panel属性。将Panel命名为Slot1,在检查器中ThemeOverride->style->panel后方下拉选择新建StyleBoxTexture。
请添加图片描述

然后将插槽背景图片拖入到Texture属性内。Layout->Transform中将size设置为18*18。最后结果如下图:
请添加图片描述

3.设置GridContainer属性。
GridContainer设置为5表示一行5个插槽。ThemeOverride->constants->h_separation,v_separation均设置为5,表示每个插槽之间距离为5。
请添加图片描述

选中Slot1,按快捷键ctrl+d,复制Slot1节点19个,共20个插槽。最后效果如下:
请添加图片描述

三、设置物品

1.新建Node2D场景,命名为Item,保存到Scenes目录下,item.tscn。
新建TextureRect子节点,将size属性设置为16*16。
为根节点添加代码。
请添加图片描述

编写代码如下:

extends Node2D

func _ready(): #随机载入2张物品图片
	if randi()%2==0:#产生个随机数,用2除,余数为0
		$TextureRect.texture=load("res://Sprites/Inventory/Iron Sword.png")
	else:#产生个随机数,用2除,余数不为0
		$TextureRect.texture=load("res://Sprites/Inventory/Tree Branch.png")

切换到Inventory场景,为每个插槽添加如下代码:

extends Node2D

func _ready(): #随机载入2张物品图片
	if randi()%2==0:#产生个随机数,用2除,余数为0
		$TextureRect.texture=load("res://Sprites/Inventory/Iron Sword.png")
	else:#产生个随机数,用2除,余数不为0
		$TextureRect.texture=load("res://Sprites/Inventory/Tree Branch.png")

这样我们的背包UI就ok了,效果如下:
请添加图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游戏自学

生活不易,打赏随意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值