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开发的语言中立、…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
