The Sandbox 游戏制作教程(第 5 部分):创建基于分类的系统
欢迎回到我们的系列,我们将记录 The Sandbox Game Maker 的 “On-Equip”(装备)功能的多种用途。
如果你刚加入 The Sandbox,装备功能是 “可收集组件”(Collectable Component)中的一个多功能工具,能让创作者通过互动游戏机制增强玩家体验。当玩家装备物品时,On-Equip 可以触发游戏世界中的特定动作或效果。通过战略性地融入装备机制,创作者可以引入新的层面的互动和参与。
今天,我们将探讨如何利用装备创建基于分类的系统,让玩家通过穿戴的装备解锁独特的技能或角色。
准备好了解更多信息了吗?更新到最新版本的 Game Maker,准备看看装备能带来什么功能!
本文是关于使用装备功能11章节中的第 5 部分,要内容,请查看之前的文章。
使用装备创建基于分类的系统
在角色扮演游戏中,玩家可以创建或选择自己想在游戏中扮演的类型。玩家可能会选择隐身类,这样他们就可以在不被发现的情况下偷袭敌人;也可能会选择使用阔剑的野蛮人,这样他们可以获得更多的点数,但却无法出其不意地攻击敌人。
通过装备功能,您可以使用装备创建类似的分类系统。例如,装备一套魔法物品可以让玩家变成法师,赋予他们法术能力。另外,玩家也可以通过装备医疗装备和解锁治疗能力来支持自己的团队,从而成为一名军医。这种机制带来了动态和可定制的游戏体验,玩家可以根据找到或获得的装备选择自己的角色。
这些情况如何出现在您的游戏或体验中
想象一下中世纪主题 RPG 游戏中的玩家。你遇到了一套古老的法师长袍、一根法杖和一个神秘的护身符。装备这些物品后,弹窗会说明您已经解锁了法师类型,拥有了施放火球或召唤保护屏障等新能力。现在,您可以使用这些技能克服原本难以面对的挑战或敌人。游戏甚至可能允许你在不同类型角色之间切换,这样随着游戏的进行,他们可能会面临不同的挑战。
有了装备功能,您就可以在您创建的任何游戏中实现这一点!
如何实施
使用装备功能创建基于分类的系统需要仔细规划。在本例中,我们将要求装备一件可收集物品,以解锁可拾取物品的功能。
首先,将装备(如法师袍或护身符)放置在可收集组件中,该组件将发送“装备”信息。
接下来,放置另一件物品供玩家拾取,例如燃烧的胜利法杖。它不一定是装备,但装备资产通常很适合类场景。该物品需要设置为可拾取,我们还需要创建一个带有资产生成器行为的逻辑资产,并将其设置为子对象。将生成器行为放置在你希望从中发射火球的法杖前端。打开左侧面板的层次结构。找到法杖和逻辑资产,然后将逻辑资产拖放到法杖上方,设置逻辑资产为法杖的子对象。如果操作正确,当您移动法杖时,带有生成器行为的逻辑资产也应该随之移动。
创建一个火球资产或任何您想要的资产,并为其添加弹射行为。将其设置为碰撞即毁,并在体验开始时发射。无需设置信息。您也可以在与物体碰撞时发送信息,例如发送健康信息,并设置负值以对敌人造成伤害。
在火球资产中添加一个扬声器,确保其设置为检测实体。将检测范围调至最大,并启用“面向实体”开关。将检测目标更改为特定标签,并为敌人设置一个易于记忆的标签。将此设置保存为预设,并为其命名。返回到生成器,切换“使用预设”选项,选择火球作为要发射的资产。更改生成信息为某个易于记忆的内容。切换为“仅一次”并根据需要调整生成间隔时间。然后,在规则系统中设置一个变量,用以跟踪法师装备是否已装备。按需命名此变量。添加一个数学规则,当收到“装备”信息时,使变量增加 “1”,表示该物品已被装备。
设置一个比较值来检查是否装备了正确数量的物品。分配一个如“检查发射”之类的信息来触发这条规则。如果变量等于“1”,则发送触发生成器发射的信息。添加“按键输入”规则,并设置为您偏好的配置。将信息更改为比较值需要的“检查发射”信息。此设置将在玩家按下发射键时进行检查,以确保他们已装备所需装备。如果装备正确,则发射火球;如果不正确,则不会发生任何事情。
激活装备以实现高级游戏玩法
在某些游戏中,您可能想增加一层复杂性,要求玩家在装备完全发挥作用之前激活它。这可能涉及为魔法燃烧胜利法杖充能、修复损坏的盔甲或升级工具使其更有效。
例如,玩家可能需要收集材料为法杖充能,或使用工作台修复断剑。激活过程完成后,玩家就可以装备物品并使用其增强的能力。
基于分类的系统的潜在用途
使用装备实现基于分类的系统有很多方法。在科幻游戏中,玩家可以装备不同类型的装备来扮演工程师、法师或士兵等角色,每个角色都有独特的能力和任务。在生存游戏中,玩家可能会发现一些装备可以让他们专门从事采集、建筑或战斗等任务的装备。
你可以创建一个多人游戏,其中包括一个持久战模式游戏,在这个模式中,无穷无尽的敌人会不断向你涌来。你可以穿上法师装,拿起法杖。通过按键操作,你可以发射火球、闪电和冰冻击中一个区域。你的朋友可以扮演治疗者、输出角色和坦克等角色。你们必须一起在一波又一波的敌人中生存下来,看看自己能坚持多久。
在社交游戏中,你将扮演医生的角色。你的工作就是四处治病救人。你的朋友们则扮演其他角色,比如警察或送货司机。你们需要一起赚钱,共同支付房租,否则房东就会把你们赶出去,导致你们输掉游戏。
以上只是使用随身装备创建基于分类的系统的几个选项。您将创造什么?
利用随身装备释放您的创造力
通过战略性地利用随身装备机制,游戏设计者可以在他们的作品中引入新的互动性和沉浸感。无论是增强角色扮演游戏的真实感,为社交体验添加合作元素,还是创建动态的等级系统,装备机制都能丰富游戏体验,加深玩家的参与度。
现在就开始体验,发现装备功能在塑造属于你的 The Sandbox 游戏体验方面所具有的变革潜力。请继续关注第 6 部分:使用装备创造动态玩家体验。
相关文章:

The Sandbox 游戏制作教程(第 5 部分):创建基于分类的系统
欢迎回到我们的系列,我们将记录 The Sandbox Game Maker 的 “On-Equip”(装备)功能的多种用途。 如果你刚加入 The Sandbox,装备功能是 “可收集组件”(Collectable Component)中的一个多功能工具&#x…...
HTML浏览器缓存(Browser Cache)
介绍: 浏览器缓存是Web缓存中最直接、最常见的一种形式。当浏览器首次请求某个资源时,如果服务器响应中包含了缓存控制指令(如Cache-Control、Expires等),浏览器就会将这些资源存储在本地缓存中。后续请求相同资源时&a…...

短剧APP系统,推动短剧市场发展
近年来,短剧作为一直火爆的新兴行业,凭借着剧情进奏、爽、时长短等优势,深受大众欢迎,成为了大众碎片化时间的解压神器。 目前,随着短剧市场的快速发展,各个类型的短剧层出不穷,也推动了短剧AP…...

嵌入式 | 嵌入式 Linux 系统使用摄像头
点击上方"蓝字"关注我们 01、引言 >>> 在嵌入式 Linux 系统使用摄像头 俗话说“眼见为实”,这或许是为什么近年来摄像头在嵌入式系统上快速增长的原因。它们被用于不同的场景,如: 远程监控:典型的例子是闭路电视,监控人员在监视环境(或许你所在的大楼…...

C 开源库之cJSON
cJSON简介 CJSON库是一个用于解析和生成JSON数据的C语言库。 它提供了一组函数,使得在C语言中操作JSON数据变得简单而高效。 您可以使用CJSON库来解析从服务器返回的JSON数据,或者将C语言数据结构转换为JSON格式以进行传输。 cJSON 使用 官网地址&…...

ROW_NUMBER(), RANK(), DENSE_RANK() SQL排序函数图文详解
ROW_NUMBER(), RANK(), DENSE_RANK() ROW_NUMBER(): 为结果集中的每一行分配唯一的连续编号。即使有重复的值,ROW_NUMBER() 也会为它们分配不同的序号。 SELECT column_name, ROW_NUMBER() OVER (ORDER BY column_name) AS row_num FROM table_name;2. RANK(): 对结…...

Spring IoCDI(下)—DI的尾声
我们之前学习了控制反转IoC,接下来就开始学习依赖注入DI的细节。 依赖注入是一个过程,是指IoC容器在创建Bean时,去提供运行时所依赖的资源,而资源指的就是对象。我们使用 Autowired 注解,完成依赖注入的操作。简单来说…...

仕考网:考外省公务员可以调回本地吗?
一般情况下,公务员岗位是固定不可随意更换的,因为每个职位都对应特定的职责和要求。一旦考到外地的岗位,想要调回本地几乎是不可能的。因为这样的操作可能导致职位空缺,进而需要通过公共招聘流程来填补,而不是简单地从…...
《工厂模式在软件开发中的深度剖析与应用》
工厂模式 在软件开发的领域中,设计模式充当着解决常见问题的高效且可复用的策略角色。其中,工厂模式作为创建对象的重要设计模式,具有不可小觑的应用价值。接下来,我们将深入探讨简单工厂模式、工厂方法模式和抽象工厂模式。 一…...
双向通信之Websocket
介绍 Websocket是一种在单个TCP连接上进行全双工通信的协议。与传统的HTTP协议不同,websocket允许客户端与服务器之间的双向通信,可以在同一条连接上进行多次消息的快速传递。我之前在做一个线上刷题网站的时候,需要设计一个社区讨论模块&am…...

git学习使用碰到的问题1
本来在B站上看到的关于stash的使用时视频末尾讲到git stash drop 编号 会删除暂存记录 确实也是这么回事,但是末尾说到git stash pop 编号时up主说在恢复工作进度的时候我们可以直接删除掉这个工作记录可以直接使用 git stash pop stash{0} 使用完以后却出现了如上图…...
JavaScript初级——Math
一、Math 和其他的对象不同,它不是一个构造函数。它属于一个工具类,不用创建对象,里边封装了数学运算相关的属性和方法。 比如: Math.PI 表示圆周率。 二、Math.abs() —— 可以用来计算一个数的绝对值。 三…...

ffmpeg的基础命令
文章目录 ffmpeg/ffplay/ffprobe区别ffmpeg 的作用ffplay的作用ffprobe的作用 ffmpeg使用概述功能概述转码过程简单使用FFMPEG -i常用的 -i例子 ff***工具之间共享的选项ffmpeg主要选项ffmpeg提取音视频数据ffmpeg命令修改原有的视频格式ffmpeg命令裁剪和合并视频拼接视频的方式…...
二建机电工程实务试题内附答案
1.下列有色金属材料中,不属于铜合金的是()。 A.紫铜 B.青铜 C.黄铜 D.白铜【答案】A 2.用于完成介质间热量交换的换热设备是()。 A.分离器 B.反应器 C.冷凝器 D.分解锅【答案】C 3.工程测量的核心是()。 A.测量精度 B.设计要求 C.减少误差累积 D.检核【答案】D 4.吊…...
Redis的热key以及Big(大)key是什么?如何解决Redis的热key以及Big(大)key问题?
一、先讲讲什么是redis的热key问题 在Redis中,我们把访问频率高的Key,称为热Key。比如突然有几十万的请求去访问redis中某个特定的Key,那么这样会造成redis服务器短时间流量过于集中,很可能导致redis的服务器宕机。那么接下来对这…...
django学习入门系列之第九点《MySQL命令介绍一》
文章目录 MySQL命令数据库的管理(文件夹)查看现在已有的数据库(文件夹)创建数据库(文件夹)删除数据库(文件夹)进入数据库(文件夹)查看文件夹下所有的数据表&a…...
Mysql面试一
目录 一、事务的四大特性(ACID): 脏读 不可重复读 幻读 隔离性与隔离级别 数据库的三大范式 第一范式。确保数据表中的每个字段都是不可分割的最小单位,即原子性。这意味着表中的每一列都应代表一个独立的数据单元ÿ…...

模型优化之剪枝
文章目录 什么是神经网络剪枝剪枝的好处不同粒度的剪枝剪枝的分类非结构化剪枝结构化剪枝 哪些层的参数更容易被剪掉剪枝效果 什么是神经网络剪枝 神经网络剪枝 在训练期间删除连接密集张量将变得稀疏(用零填充)可以通过结构化块( n m nm nm&…...

JVM的组成
JVM 运行在操作系统之上 java二进制字节码文件的运行环境 JVM的组成部分 java代码在编写完成后编译成字节码文件通过类加载器 来到运行数据区,主要作用是加载字节码到内存 包含 方法区/元空间 堆 程序计数器,虚拟机栈,本地方法栈等等 随后来到执行引擎,主要作用是翻译字…...
快速上手 iOS Protocol Buffer
快速上手 iOS Protocol Buffer | 来自缤纷多彩的灰 本文主要介绍在 iOS 开发中如何快速上手使用 Protobuf。更多关于 Protobuf 的介绍和相关的功能 api,读者可自行查阅官网。 Protocol Buffer(简称 Protobuf)是一种由Google开发的语言中立、…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

DeepSeek越强,Kimi越慌?
被DeepSeek吊打的Kimi,还有多少人在用? 去年,月之暗面创始人杨植麟别提有多风光了。90后清华学霸,国产大模型六小虎之一,手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水,单月光是投流就花费2个亿。 疯…...

新版NANO下载烧录过程
一、序言 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。 二、环境搭建 1、安装库 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Je…...
【学习记录】使用 Kali Linux 与 Hashcat 进行 WiFi 安全分析:合法的安全测试指南
文章目录 📌 前言🧰 一、前期准备✅ 安装 Kali Linux✅ 获取支持监听模式的无线网卡 🛠 二、使用 Kali Linux 进行 WiFi 安全测试步骤 1:插入无线网卡并确认识别步骤 2:开启监听模式步骤 3:扫描附近的 WiFi…...

Gitlab + Jenkins 实现 CICD
CICD 是持续集成(Continuous Integration, CI)和持续交付/部署(Continuous Delivery/Deployment, CD)的缩写,是现代软件开发中的一种自动化流程实践。下面介绍 Web 项目如何在代码提交到 Gitlab 后,自动发布…...