Godot4.3类星露谷游戏开发之【可收集物品】

Godot 4.3开发指南:构建类星露谷游戏的玩家移动系统 在2D游戏开发中,玩家移动系统是交互体验的核心基础,它直接关系到操作手感和游戏沉浸感。其原理通常涉及输入处理、物理模拟与动画状态机的协同工作。通过合理的技术实现,开发者可以确保角色响应精准、动画流畅,并为后续的交互逻辑奠定基础。在类似《星露谷物语》的农场模拟经营游戏中,一个稳定且可扩展的移动系统尤为重要,它需要支持八方向行走、碰撞检测及与未来工具使用、NPC对话等功能的平滑衔接。本文以热门的Godot 4.3引擎为实践环境,详细解析如何使用CharacterBody2D和AnimatedSprite2D等核 阅读详情

千里之行,始于足下

零、 笔记

在开发类星露谷风格游戏时,为了让各类物品(比如果实、资源等)都能被玩家收集,开发中运用了 组件化思想 —— 这种思想的核心是将 “可被收集” 这一重复出现的功能,从具体物品中剥离出来,做成一个独立、通用的模块。基于此思路,本文创建了 【可收集组件】 。它内部封装了完整的 “收集逻辑”,将它作为子节点添加到物品场景中后,可使物品立刻拥有 被玩家收集 的能力。

观察碰撞

一、创建物品

第一步,创建新场景,以 Sprite2D 作为场景根节点(用于展示物品图片);

创建Sprite2D
第二步,选中 Sprite2D 节点,在检查器下的 Texture 加载 Egg_item.png 文件;
文件路径: res://资产/Sprout Lands - Sprites - Basic pack/Objects

加载Egg_item.png
第三步,在文件系统 res://场景/ 路径下创建 物品 文件夹;

创建物品文件夹
第四步,更改 Sprite2D 节点名为 蛋 ,并保存该场景在新创建的 res://场景/物品 路径下 ;

蛋
完成物品创建!

二、创建可收集组件

第一步,在文件系统 res://场景/ 路径下创建 组件 文件夹;

创建组件文件夹
第二步,创建新场景,并以 Area2D 为根节点;

Area2D
第三步,为 Area2D 附加脚本 可收集组件.gd ,并保存在 res://场景/组件 路径下

可收集组件.gd
第四步,理清 可收集组件.gd 检测玩家进入后收集物品的逻辑;
逻辑如下:

玩家节点 Area2D检测区域 Area2D的父节点:物品Sprite2D SceneTree 进入检测区域 触发body_entered信号 调用get_parent().queue_free() 安全移除物品Sprite2D节点 玩家节点 Area2D检测区域 Area2D的父节点:物品Sprite2D SceneTree

第五步,选中 可收集组件 节点,找到检查器下的节点 信号 ,右键点击 连接;

连接可收集组件1
然后我们发现 可收集组件.gd 连接后变成了这样:

连接可收集组件2
注意左边的绿色箭头,代表连接成功;

  • 这个函数的意思是:如果检测到物理体 Phisics Body,就会执行这个函数里面的操作
  • 我们的玩家是正是用 Charecterbody2D 节点做的,这个节点就属于物理体 Phisics Body
  • 利用这一点可以实现检测到玩家进入后,将物品收集的目的!

编写代码如下:

extends Area2D

#一旦东西进入则使得物品消失
func _on_body_entered(body: Node2D) -> void:
	#获取父节点(物品)并删除
	#使得物品消失看起来像是收集了
	get_parent().queue_free()

三、物品 + 可收集组件

可收集的物品 = 物品 + 可收集组件;
第一步,将 可收集组件 作为 物品 的子节点;

可收集组件
第二步,根据警告,我们添加 CollisionShape2D 作为可收集组件的 收集范围;

添加CollisionShape2D
并在检查器中选择收集范围的 形状 ,这里我们用圆形;

选择收集范围的形状
可自行调节圆形的大小。

第三步,将 蛋 添加到 测试_基本地形 场景中;

添加到测试_基本地形
第四步,运行当前场景前,我们打开调试,勾选 显示碰撞区域;

显示碰撞区域
第五步,观察碰撞是否有效;

观察碰撞
碰撞有效,完成!

四、免费开源资产包

某开源网站精灵图资源包链接: 点击此处

  1. 进入链接后点击下图按钮
    下载

  2. 然后点击【No thanks,just take me to the downloads】(不了谢谢,只想下载)
    No thanks,just take me to the downloads

  3. 最后点击下图按钮完成下载(注意导入前需解压缩)
    下载

Godot 4 开发《星露谷物语》风格农场游戏:从零实现核心系统 2D像素风游戏开发是独立游戏和初学者入门的常见选择,其核心在于高效管理游戏对象、状态与资源。Godot引擎以其轻量、开源和节点化架构,为这类游戏的快速原型开发提供了强大支持。通过其内置的TileMap系统、GDScript脚本语言和信号机制,开发者可以高效构建可交互的世界、管理游戏状态并实现数据驱动的设计。这在模拟经营、角色扮演等需要复杂系统交互的游戏类型中尤为关键,能显著提升开发效率与项目可维护性。本教程聚焦于利用Godot 4的新特性,如改进的TileMap工作流和GDScript 2.0,从零搭建一个 阅读详情

相关推荐

Godot 4 实战:复刻《星露谷物语》核心玩法,掌握2D游戏开发全流程

2D游戏开发是独立游戏和原型制作的热门领域,其核心在于将游戏设计理念通过引擎工具转化为可交互的体验。Godot引擎以其轻量、开源和节点化的工作流,成为实现这一过程的高效选择,特别适合快速构建包含探索、资源管理和角色扮演元素的游戏原型。本教程聚焦于通过复刻《星露谷物语》的经典农场模拟玩法,系统性地实践Godot 4的2D开发全流程。你将从零搭建一个包含可交互地图、角色控制、物品背包、昼夜循环和NPC对话等核心模块的项目,深入理解GDScript脚本编程、场景管理和信号通信等关键技术。整个过程注重工程实践与代码

weixin_34034670的博客 337

GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议

godot游戏引擎简介,与unity引擎的2d/3d渲染性能测试,以及技术选型建议

失业求捞! 2万+

使用Godot 4从零复刻《星露谷物语》核心玩法:实战开发指南

在游戏开发领域,2D像素风模拟经营游戏因其独特的艺术风格和深度的玩法循环而备受青睐。这类游戏的核心通常围绕资源管理、地图交互和成长系统构建,其实现依赖于高效的2D渲染、精确的碰撞检测以及复杂的状态与数据管理。Godot引擎,特别是其4.x版本,凭借其卓越的2D工作流、节点化场景系统和易上手的GDScript脚本语言,成为实现这类游戏逻辑的理想选择。通过将游戏世界分解为可交互的瓦片地图(TileMap),并利用其数据层(Data Layers)管理地形属性,开发者可以高效地实现耕种、采矿等核心交互。同时,结合

weixin_34345753的博客 354

【亲测免费】 Godot资源库指南

**Godot资产库** 是一个专门为Godot引擎用户提供资源交换的平台,它集成了各种由社区贡献的游戏素材、场景、脚本以及完整的项目示例。这一开源项目使得游戏开发者能够轻松找到并复用高质量的开发资源,极大地加速了游戏制作流程。Godot Engine,作为一个功能强大且免费开源的游戏引擎,其资产库是其生态系统中不可或缺的一部分,支持了从独立游戏到商业项目的广泛创作需求。 ## 项目快速启动 ...

gitblog_00254的博客 2137

Godot 4 开发《星露谷物语》类游戏:架构设计与核心系统实现

在游戏开发中,数据驱动架构和状态管理是构建复杂交互系统的核心原理。通过将游戏实体抽象为可配置的资源(Resource),并与表现层(Scene)分离,开发者可以创建高度模块化、易于维护的代码结构。这种设计模式的技术价值在于提升了项目的可扩展性和团队协作效率,尤其适用于模拟经营、角色扮演等包含大量物品、合成配方和NPC交互的游戏类型。在Godot引擎中,TileMap的Data Layers功能为网格化地图状态管理提供了高效解决方案,而信号(Signal)机制和Autoload单例则能有效实现系统间的解耦与全

weixin_33985507的博客 469

用Godot 4复刻《星露谷物语》核心玩法:从零搭建2D农场模拟游戏原型

游戏引擎是游戏开发的基础工具,它通过提供渲染、物理、脚本等核心模块,将创意转化为可交互的数字体验。在众多引擎中,Godot以其开源、轻量和节点化架构脱颖而出,特别适合2D游戏的快速原型开发。其独特的场景(Scene)与节点(Node)系统,让开发者能够像搭积木一样组合游戏对象,显著提升了开发效率。对于模拟经营、农场养成这类注重系统复杂度和内容深度的游戏类型,Godot 4强大的2D渲染管线、直观的TileMap编辑器以及高效的GDScript语言,能够帮助开发者快速验证核心循环,如资源采集、时间管理和背包系

weixin_34151004的博客 320

探索Godot游戏模板:为开发者打造高效游戏起点

在这个快速发展的游戏开发世界中,找到一个良好的起点是至关重要的。 是一个开源项目,它提供了预配置的游戏框架,旨在加速你的2D或3D游戏制作过程,让你可以专注于创新和创作,而非基础设置。 ## 项目简介 Godot Game Template是一个基于[Godot Engine](https://godotengine.org/)的游戏模板,Godot是一款强大的、免费且开源的游戏引擎,支持2D...

gitblog_00064的博客 660

Godot 4 实战:从零构建像素风农场模拟游戏核心系统

2D游戏开发中,TileMap系统是构建网格化世界的核心技术,它通过图块(Tile)与自定义数据层(Custom Data Layers)高效管理地形与交互逻辑。其原理是将游戏世界划分为网格,每个图块携带属性数据(如是否可通行、可耕种),从而实现数据驱动的游戏逻辑。这一技术价值在于极大提升了地图编辑效率与游戏逻辑的灵活性,尤其适用于农场模拟、策略、RPG等需要复杂地图交互的场景。结合Godot 4的信号(Signal)与单例(Singleton)机制,可以优雅地实现全局游戏时间系统与模块化交互。本文以复刻《

weixin_30808693的博客 436

独立游戏Godot游戏开发日志

独立游戏 Godot游戏 开发日志1 游戏已开发半年多了,目前以实现的功能: 种植系统,种树,砍树,种菜,摘菜,可以用不同工具收获,得到不同的物品。物品分稀有度,罕见的物品更能得到。收集到物品可以制作物品, 计划实现副职业:武器大师,制甲工匠,农民。。。。等等,可以 制作武器,盔甲,饰品,项链,鞋子,披风,食物,药水。。。。。。,制作系统基本完成,数据还未设计填充。 技能系统基本完成,重写了两次,但还没得到验证,以后大概还需完善,目前还没有设计技能,所以视频尚未展示。 实现了技能效果,例如:

游戏开发 3541

【unity实战】手戳一个类似星露谷物语的建筑系统(附工程源码)

欢迎来到【unity实战】系列!本篇文章将带你一起探索一个令人兴奋的主题——建筑系统。如果你曾经沉浸在《星露谷物语》这样的游戏中,梦想着自己能够创建属于自己的农场、村庄或城市,那么你来对地方了!在本文中,我们将使用Unity引擎来实现一个类似于《星露谷物语》的建筑系统。通过简单的点击与拖拽操作,你将能够在虚拟世界中建造各种各样的建筑物,如房屋、农作物、商店等。这个建筑系统不仅会给你带来乐趣和创造力的发挥空间,还将涉及到一些基本的碰撞检测、资源管理和可交互性的实现。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1685

SECS/GEM协议库及开源代码

以下是在开发SECS/GEM协议过程中,在网络上搜集协议实现资源,希望对SECS/GEM协议感兴趣的同学能有所帮助。 开源代码 freesecs FREESECS 是一个开源的SEMI SECS协议库,采用C++语言实现,可运行于Linux, MacOS X, NetBSD。 实现协议:E37.1、E5 开源地址:freesecs download | SourceForge.net 下载地址:https://download.csdn.net/download/BT_LEO/24305429

码农的历程 9936

Godot游戏案例研究:成功Godot游戏的技术分析

你是否曾经想要开发自己的游戏,却被复杂的引擎和庞大的代码库吓退?Godot引擎以其轻量级、开源免费的特性,正在成为独立游戏开发者的首选。本文将通过一个完整的Godot游戏项目案例,深入分析成功Godot游戏的技术架构和实现细节。 通过本文学到的技术要点: - ✅ Godot场景系统的模块化设计 - ✅ 2D物理引擎的精确控制 - ✅ 动画状态机的优雅实现 - ✅ 游戏状态管理的核心模式 - ✅ ...

gitblog_00287的博客 1363

ubuntu安装XXX包时出现(= 20.0.8-0ubuntu1~18.04.1) but it is not going to be installed

安装mujoco_py时,最后一步尝试 import mujoco_py 时出现报错 esashim.c:1:10: fatal error: GL/osmesa.h: No such file or directory 1 | #include <GL/osmesa.h> | ^~~~~~~~~~~~~ compilation terminated. 在https://github.com/openai/mujoco-py#ubuntu-ins

dealexce的博客 1794

Godot4.3类星露谷游戏开发之【简易库存】(逻辑部分)

本文为Godot4.3类星露谷游戏开发的进阶内容,聚焦简易库存系统的完整逻辑实现。在UI基础上,通过可收集组件、库存管理器(单例)和库存UI的脚本联动,打通物品收集到数据同步、UI更新的全流程。文中附详细代码(可收集组件、库存管理器等脚本)、测试步骤及开源资产包链接,助开发者快速掌握物品收集与库存管理的核心逻辑。

ForBigData的博客 1112

C# .NET6 TesseractOCR 图片文字识别

在你的项目中的tessdata-main文件夹找到这几个文件,并右键->属性设置为【如果较新则复制】有几个需要用到的模型,需要生成的时候复制到输出目录中,在项目中设置即可。TesseractOCR兼容 x86 与 x64。附 :ImageUtils.RegionCropping()源码。Visual Studio 2022 社区版。下载完成后解压在你的项目中,如图所示。从官方项目中获取模型数据, 网址为。

qq_44121554的博客 3853

Cadence SIP Layout 简单教程-第一章

以摄像头模组软硬结合板为例,描述layout的整个完整过程,从而掌握基本技能。 第一章 准备工作 第一节 原理图不用说layout前需要绘制原理图,原理图不在本文讨论范围内,所以列为准备工作。 需要特别说明的是,绘制原理的最终目的是导出网络表,网络表中的重要参数footprint是让layout软件选择正确封装的关键,所以这里讲解一下原理图设置footprint的位置。在原理图中双击零件,...

whp1920的博客 1万+

Godot4.3类星露谷游戏开发之【简易库存】(UI部分)

《Godot4.3类星露谷游戏开发教程》系列新章发布!本文将手把手教你创建一个美观实用的库存UI系统,包含库存面板设计、物品槽布局、物品纹理显示与数量管理。通过详细的图文步骤,你将学习使用AtlasTexture、Theme资源、NinePatchRect等组件搭建UI,并解决布局中的常见问题。文末提供免费开源资产包下载链接。从零开始,轻松打造专属库存面板,让你的游戏体验更上一层楼!立即阅读,开启创作之旅吧!

ForBigData的博客 1447

从零组装一台会‘看’的无人机:手把手教你配置NUC机载电脑与D435深度相机(环境搭建篇)

本文详细介绍了如何从零开始组装一台具备视觉能力的智能无人机,重点讲解了NUC机载电脑与D435深度相机的配置方法。通过Ubuntu系统安装、ROS环境搭建、深度学习框架配置等步骤,帮助开发者实现无人机的自主避障和目标跟踪功能。文章还提供了性能优化和常见问题解决方案,是无人机视觉系统开发的实用指南。

weixin_30915275的博客 396

Godot4.3类星露谷游戏开发之【生长的小麦】

本教程讲解如何在Godot 4.3中构建小麦生长系统:通过时间管理组件驱动作物分阶段成长(发芽/成长/成熟),利用动画帧切换实现视觉变化,集成碰撞检测与掉落物生成机制。核心步骤包括创建带生长状态机的作物场景、配置时间监听信号、设置阶段变更事件,最终通过测试场景验证浇水后小麦的动态生长效果。文内附完整开源精灵包资源+脚本,完整呈现种植系统核心逻辑。

ForBigData的博客 1731

光伏硅片瑕疵检测边缘计算方案:Java+YOLOv11n+GraalVM Native Image+树莓派5部署,工业级高可靠落地

本文提出了一种基于边缘计算的光伏硅片瑕疵检测方案,针对传统人工检测和云端AI方案的不足,采用Java+YOLOv11n+树莓派5的技术路线,实现了低延迟、高可靠的工业级检测。方案核心特点包括: 分层解耦的边缘架构,将感知、推理全链路下沉到树莓派5,端到端延迟<100ms; 创新性技术选型组合:Java 17+ONNX Runtime+GraalVM Native Image,内存占用<200MB; 安防级可靠性设计,支持断网缓存、看门狗守护、异常自动恢复等工业场景需求; 完全基于开源技术栈,硬件

2601_94871597的博客 474

ESM2蛋白预训练模型 蛋白质、氨基酸向量表示

参考: https://github.com/facebookresearch/esm https://huggingface.co/facebook/esm2_t33_650M_UR50D https://esmatlas.com/resources?action=fold tokenizer_对输入蛋白会头尾添加cls、eos特殊字符,占两个字符长度 参考:https://github.com/facebookresearch/esm 直接clone下来代码

weixin_42357472的博客 1万+

Godot4.3类星露谷游戏开发之【可砍伐的树】

利用碰撞/受击箱机制实现可砍伐树木:创建树场景并配置碰撞体,通过Area2D组件检测交互,结合动画与脚本实现生命值管理及木头掉落,最终完成交互式砍树功能。

ForBigData的博客 1399

Google Earth Engine(GEE)——将sentinel - 2影像所有波段重采样到10m分辨率 (resample 和 projection的使用)

影像重投影是将一个影像从一个坐标系投影到另一个坐标系的过程。这通常涉及到将像素从一个平面坐标系变换到另一个平面坐标系。这可以用于许多应用中,例如建立数字高程模型(DEM)和地图制图。影像重投影通常需要进行数学计算,包括转换矩阵和插值算法,以确保像素值的准确性和精度。这次我们将对哨兵2好数据中20m分辨率的波段,重采样到10m分辨率中,然后同一参与计算。

此星光明博客 3107

Godot 4 开发《星露谷物语》式农场模拟游戏:从核心机制到工程实践

在游戏开发领域,2D像素风格农场模拟游戏因其独特的资源管理和模拟经营玩法而备受玩家喜爱。其核心原理在于构建一个由时间系统驱动、具备丰富物品交互和状态管理的动态世界。从技术实现角度看,这类游戏的价值在于其模块化设计和数据驱动的架构,能够高效管理复杂的游戏逻辑和玩家进度。典型的应用场景包括农场经营、资源收集、角色成长和社交系统等。本文聚焦于使用Godot 4引擎,通过TileMap构建游戏世界,并设计基于Resource的物品系统和Inventory背包管理,为开发者提供一套可实践的工程方案,帮助快速搭建类似《

weixin_30463341的博客 375

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【程序源代码】星露谷物语资源库・开源素材合集(含源码)

本开源项目完整收录游戏全量图片资源,涵盖地图场景、NPC 立绘、道具物品、UI 界面、动植物、技能图标等各类素材,为游戏开发者、美术设计师、模组创作者与同人爱好者提供一站式创作素材库。无论你是制作同人动画、设计 MOD 拓展、搭建关卡编辑器,还是进行插画创作、周边设计、视频二创,这里的高清素材都能为你提供充足灵感与实用支持。本项目素材仅限非商业用途使用,使用时请尊重原作版权与社区规范,注明素材来源,共同守护星露谷社区的创作氛围与创意活力。:星露谷物语资源库・开源素材合集(含源码)一、地图场景(核心资源)

程序源代码 817

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【纯免费分享】星露谷物语素材完整目录:584 张 PNG 图片资源的结构与使用说明

星露谷物语素材资源仓库把一款星露谷物语(Stardew Valley)游戏内提取出的 584 张 PNG 图片素材打包进一个约 63 MiB 的压缩包,覆盖地图贴图、NPC 立绘、物品道具、动物、字体等类别。它适合三类人:想搭同人地图的开发者、需要整理像素美术资产库的设计师,以及希望拆解一款成熟游戏美术管线的学习者。文件名保留了游戏内资源的原始命名,分类目录也沿用了引擎内的组织方式,便于按名取用。

gitblog_00744的博客 13

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: Godot4.3类星露谷游戏开发之【实现玩家移动】
下一篇: 【杂谈】Godot 信号命名规范
ForBigData
博客等级 码龄7年 221粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

ForBigData

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值