当前位置: 首页 > news >正文

The Sandbox 游戏制作教程(第 5 部分):创建基于分类的系统

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): 脏读 不可重复读 幻读 隔离性与隔离级别 数据库的三大范式 第一范式。确保数据表中的每个字段都是不可分割的最小单位,即原子性。这意味着表中的每一列都应代表一个独立的数据单元&#xff…...

模型优化之剪枝

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

JVM的组成

JVM 运行在操作系统之上 java二进制字节码文件的运行环境 JVM的组成部分 java代码在编写完成后编译成字节码文件通过类加载器 来到运行数据区,主要作用是加载字节码到内存 包含 方法区/元空间 堆 程序计数器,虚拟机栈,本地方法栈等等 随后来到执行引擎,主要作用是翻译字…...

快速上手 iOS Protocol Buffer

快速上手 iOS Protocol Buffer | 来自缤纷多彩的灰 本文主要介绍在 iOS 开发中如何快速上手使用 Protobuf。更多关于 Protobuf 的介绍和相关的功能 api,读者可自行查阅官网。 Protocol Buffer(简称 Protobuf)是一种由Google开发的语言中立、…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...