码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【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了,效果如下:
    请添加图片描述

  • 相关阅读:
    行业追踪,2023-10-24
    分布式文件系统和对象存储魔力象限,右上角都有谁?
    音视频项目—基于FFmpeg和SDL的音视频播放器解析(十七)
    OpenStack 创建虚拟机错误: Host ‘compute1‘ is not mapped to any cell
    一名普通程序员的正确理财方式:建立思维模型,选中好公司,坚持长期主义
    如何使用ArkUI从0-1写一个开发购物应用程序(下)
    【Redis 一】Redis数据结构(String/Hash/List/Set/Sorted Set)、常用redis终端命令
    Kafka读取数据到Hbase数据库2种方式 使用桥梁模式
    NPDP考生!7月31号考试要求在这里看!
    java计算机毕业设计ssm健达企业项目管理系统
  • 原文地址:https://blog.csdn.net/zhaoyang314/article/details/139455119
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号