Unity2D初级背包设计前篇 理论分析

本人能力有限,如有不足还请斧正,背包设计的方法来自Siki学院的如下课程,Unity版星露谷物语:一步步打造田园生活游戏 - SiKi学院|SiKi学堂 - unity|u3d|虚幻|ue4/5|java|python|人工智能|视频教程|在线课程 但是我对其进行了修改与优化 实现了更多的功能,还是十分感谢siki老师

版本:Unity6 / 2D核心 URP

目录

1.基础功能概要

基本界面​编辑

玩家拾取

玩家丢弃

交换物品

单个拆分与丢弃

2.基本元素分析

3.实现难点分析

3.1模型层和视图层分离

[3.2 选择正确的存储方式](#3.2 选择正确的存储方式)

[3.3 重要API的获取](#3.3 重要API的获取)

[3.4 具体实现逻辑](#3.4 具体实现逻辑)


1.基础功能概要

基本界面

玩家拾取

玩家丢弃

交换物品

单个拆分与丢弃

2.基本元素分析

在写这个背包之前 我们应该清除地知道其都包含了什么元素 不能写到哪算哪

方法论:其实做任何事情策划总是很重要的,不能让经验主义占据主导

让我们看看基础界面上都包含了什么元素?

图中可以看出,背包和工具栏是两个存储器,其都包含了格子(Slot),玩家自不必说

物品则都应有部分共通点,这个我们以后细细道来,所以我们应该有大致如下的类,有兴趣可以看图一一对应

3.实现难点分析

3.1模型层和视图层分离

也就是MVC,不清楚可以看下篇文章

Unity MVC框架演示 1-1 理论分析-CSDN博客

3.2 选择正确的存储方式

这个背包用的是SO文件存取,不懂可以看下篇:Unity ScriptableObject持久化操作_unity 动态保存为scriptableobject数据类型-CSDN博客

其实简单的存储就是那么回事,用哪个都行,复杂的存储需要定制规则的时候再说

3.3 重要API的获取

这个没必要多讲了,比如Unity提供的事件接口,查手册和问AI就完事

3.4 具体实现逻辑

这个我们下一篇再讲,不然太长了也不好

相关推荐
井队Tell1 小时前
打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第十二天)
学习·3d·unity
.生产的驴1 小时前
React 路由权限跳转 Token判断 路由控制 登录状态控制
前端·javascript·react.js·ajax·前端框架·c#·ecmascript
SunnyDays10119 小时前
如何使用 C# 将 CSV 数据轻松转换为 PDF
c#·csv转pdf
Big_潘大师9 小时前
C# 六自由度机械臂正反解计算
数学建模·机器人·c#·六自由度机械臂
我不是程序猿儿10 小时前
【C#】XtraMessageBox(DevExpress)与MessageBox(WinForms 标准库)的区别
开发语言·c#
偶尔的鼠标人10 小时前
Avalonia/WPF 打开子窗口,并且跨页面传值
c#·wpf·mvvm·avalonia
玖笙&10 小时前
✨WPF编程进阶【6.1】:图形原则(附源码)
c++·c#·wpf·visual studio
huoshan1234510 小时前
给旧版 .NET 也开一扇“私有之门”——ILAccess.Fody 实现原理与设计
c#·.net·fody·il·mono.cecil
纸照片11 小时前
WPF中为Button设置IsMouseOver和IsPressed事件中改变背景颜色不起作用
c#·.net·wpf
关关长语12 小时前
Dotnet使用System.Xml.Serialization处理Xml序列化
xml·c#·.net