首页 > 其他分享 >Godot游戏学习笔记(二)

Godot游戏学习笔记(二)

时间:2024-07-02 09:57:58浏览次数:17  
标签:Godot 背包 游戏 笔记 添加 存放 物品 节点 Pack

Godot学习笔记(二)

前言

今天这部分是想做一个基本的背包系统,既可以存放基本的物品。

一、个人思路

我认为的背包系统中主要有三项基本的物品、用于存放物品的单位和背包页面这三个部分,其中第二个部分用于存放物品的单位可以不用单独构建,但是构建了会更方便管理,所以我加上了第二个部分。

二、搭建步骤

1.搭建背包页面这个场景

(1)用control这个基础节点作为根节点,我们将其明名为Pack.
(2)在Pack节点基础上添加TextureRect节点,作为背包页面的背景,此步骤可以将TextureRect节点调整成为与Pack节点一致大小,并将其命名为Pack_Background
(3)继续在Pack节点下添加GridContainer,这个节点将展示背包的内容,重复调整大小的步骤,并将其命名为Pack_Container
在这里插入图片描述

(4)在Pack_Container的属性中设置会有多少行,这部分我设置成1行。
在这里插入图片描述
(5)设置背包背景,我们可以将自己喜欢的图片放入Pack_Background中。
在这里插入图片描述
背包场景的页面目前为以下情况:
在这里插入图片描述

2.构件存放物品类

(1)构件一个container节点,命名为Slot
(2)在Slot节点下,添加TextureRect节点和Panel节点
在这里插入图片描述(3)在Panel节点中,设置Theme Overrides,新建一个新的style,即StyleBoxFlat,并进行调整样式。
在这里插入图片描述
物品存放的场景目前为:
在这里插入图片描述

3.构件物品类

(1)新建一个GDScript脚本,它继承的内容为Resource
在这里插入图片描述
(2)在脚本中,添加类名,物品的图片以及姓名。

extends Resource
class_name Items
#物品图片
@export var pic : Texture2D
#物品姓名
@export var name : String

(3)保存之后,点击检查器中的第一个图标。
在这里插入图片描述
(4)新建新的物品,,我这部分只创建了一个,如果可以根据自己需要创建更多。
在这里插入图片描述
将数据添加好,在将其另存为新的物品。
在这里插入图片描述

4.给存放物品类添加脚本

(1)物品存放类添加脚本,并将Items类添加进入。

extends Control

@export var item: Items = null:
	set(value):
		item=value
		if value != null:
			$TextureRect.texture =value.texture

5.背包场景的完整搭建

将slot场景加入Pack_container中,在将另存为的物品加入slot中,最终结果为以下:
在这里插入图片描述

提示:

可能会出现一些其他的问题,这部分只给大家一个思路。

标签:Godot,背包,游戏,笔记,添加,存放,物品,节点,Pack
From: https://blog.csdn.net/flower_in_the_pool/article/details/140092987

相关文章

  • vue学习笔记5
    1.组件组成一个.vue文件是一个单文件组件(SFC)。<template><divclass="container">{{message}}</div></template><script>exportdefault{data(){return{message:"组件的组成"......
  • Python实战,桌面小游戏,剪刀石头布
    注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。下载教程:Python项目开发实战_桌面小游戏-剪刀石头布_编程案例解析实例详解课程教程.pdf创建一个基于Python的桌面小游戏“剪刀石头布”是一个很好的编程实践项目,它......
  • 游戏冻结工具 -- 雪藏HsFreezer v1.78
    软件简介HsFreezer是一款多功能游戏冻结工具,它允许用户随意暂停和继续游戏,同时具备系统优化和进程管理的功能。这款软件特别适合希望在游戏加载时间节省或在游戏与其他任务之间快速切换的用户。其主要特点包括快捷键操作、单锁模式的丝滑切换,以及丰富的系统优化功能。此外,HsF......
  • 编译原理期末复习笔记
    本笔记关于编译器的阶段只包含了词法分析、语法分析、语义分析和中间代码生成,如果发现笔记有错误的地方欢迎大家给我指正。文章目录1.介绍1.1什么是编译器(Compiler)1.2编译器vs.解释器(Interpreter)1.3预处理器(Preprocessor)1.4符号表(SymbolTable)1.5其他2.......
  • DApp设计与开发 课程笔记(四):NFT交易市场合约
    笔记对应课程内容为成都信息工程大学区块链产业学院老师梁培利的DApp设计与开发10-13课笔记中提到的名词不做过多解释不懂就搜!开发准备:编辑IDE环境:Vscode+Hardhat调试:RemixERC标准智能合约生成巫师:https://docs.openzeppelin.com/contracts/5.x/wizard动手学Windo......
  • 算法笔记:模拟过程(螺旋遍历矩阵)
    1模拟过程“模拟过程题”通常指的是那些要求编程者通过编写代码来“模拟”或重现某个过程、系统或规则的题目。这类题目往往不涉及复杂的数据结构或高级算法,而是侧重于对给定规则的精确执行和逻辑的清晰表达。其中螺旋遍历矩阵的题目就是一类典型的模拟过程题,需要精心设......
  • 【鸿蒙学习笔记】基础组件Blank:空白填充组件
    Blank:空白填充组件Column({space:20}){Row(){Text('Bluetooth')Blank().color(Color.Yellow)Toggle({type:ToggleType.Switch}).margin({top:14,bottom:14,left:6,right:6})}.backgroundColor(Color.Pink).borderRadius(15).padd......
  • 【鸿蒙学习笔记】基础组件Progress:进度条组件
    官方文档:Progress目录标题作用最全属性迭代进度赋值风格样式作用进度条组件最全属性迭代Progress({value:20,total:100,type:ProgressType.Linear}).color(Color.Green)//颜色.width(200)//大小.height(50)//高度.value(50)//进度可更新,2......
  • #C语言基础 笔记二
    强制转换inta=5;floatb=a/2;//2.000000floatb=(float)a/2;//2.500000#include<stdio.h>intmain(intargc,charconst*argv[]){inta=5;floatb=(float)a/2;printf("%d%f\n",a,b);return0;}分支语句if......
  • 动手学深度学习5.6 GPU-笔记&练习(PyTorch)
    以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。本节课程地址:17使用和购买GPU【动手学深度学习v2】_哔哩哔哩_bilibili本节教材地址:5.6.GPU—动手学深度学习2.0.0documentation(d2l.ai)本节开源代码:...>d......