如何在游戏中制作一个物品图鉴的功能

简介: 如何在游戏中制作一个物品图鉴的功能

嗨!大家好,我是小蚂蚁。


今天我们分享一下如何使用滚动列表来实现一个物品图鉴功能。

如图,在很多的游戏中都有这种物品图鉴的模块,用于玩家在游戏的过程中收集解锁物品,或者敌人,宠物等等。


这种功能能够满足玩家的收集欲望,就像我们小时候收集的画册,邮票,现在大家喜欢收集的手办,卡片等等。只要有这样的一个收集图鉴,你就总是会想把其中的所有物品全部集齐或者点亮。


下面我们就来看一下如何在微信小游戏制作工具中实现一个这样的物品图鉴功能。


先来布置一下示例的场景。

如图,我们导入了滚动列表插件(位于素材库中的插件类别中),制作了两个容器,一个是显示物品图鉴的面板,一个是用于滚动列表中的物品项。


重点来看一下滚动列表的属性设置。

有的同学问我做的滚动列表为什么只有一行或者一列呀?那是因为你没有设置行数或者列数呀!这里滚动方向选择的是“上下”,下面对应的会出现列数的属性。如果滚动方向选择的是“左右”,那下面对应的会出现行数的属性。


在子元素中选择我们制作好的“物品项”容器,子元素中可以选择单个精灵或者容器。


接着,我们来看一下对于物品项的处理。


如图,物品项容器中包含了两个部分:一个精灵图片用于显示物品图,一个基础文字用于显示物品名称。


在滚动列表中要显示很多个不同的物品,对应的不同的图片和不同的文字,这些该怎么处理呢?


对于图片来说,可以通过为一个精灵增加多个造型来实现。

我们可以为一个精灵图片增加很多个造型(你可以把造型理解为一个人的很多套衣服),每个造型都有一个独立的编号,这个编号就是切换造型的关键。


对于物品名称来说,最好是也能按照一定的编号来设置,我们可以借助列表来实现。

如图,因为物品只需要一个名字,所以我创建了一个列表,如果你的物品还需要介绍等其它信息,可以选择使用一个表格来管理数据(表格的行号就是编号),列表中的第几项代表的就是这个物品名字的编号。

这个编号就是一把钥匙,只要有了一个物品的编号,我们就能够通过这个编号获取物品的图片以及名称了。


最后,来看一下物品项上的积木逻辑。

这里有两个重点:第一是所有滚动列表中的项,都是被滚动列表插件克隆出来的,所以初始化操作应该放在“当克隆体启动时”积木中,如果你把初始化操作放在“当场景启动时”积木中,就会发现初始化操作没有完成。第二是列表中的项是从 1 开始计数,想要知道当前是第几项,可以通过使用积木“自己的列表索引”来获得,这个列表索引就是我们之前所说的那把钥匙。


滚动列表一共有 15 项,对应的列表索引是 1~15,物品精灵有 15 个造型,对应的是 1~15,存储物品名称的列表中有 15 项,对应的是 1~15。每个索引对应一个造型和一个物品名称,很像是一把钥匙对应一把锁。


为了测试,我们增加了一个按钮,创建了一个“当前等级”的全局变量,以及一个“物品解锁”的通知。


每点击一次按钮,等级增加 1 ,然后解锁一个新的物品。


在真实的游戏中,有可能通过关卡来解锁物品,也可能通过游戏中的某些节点(干掉某种怪,收集到某个物品或宠物)来解锁物品。我们今天所讲的是物品图鉴的展示功能,至于背后的具体数据逻辑需要视具体的游戏而定。


相关文章
|
Python 缓存
Python ChainMap:链式映射的妙用与实战解析
【4月更文挑战第1天】Python中的`collections`模块提供了一个名为`ChainMap`的类,它实现了多个字典的链式查找。`ChainMap`将多个字典组织成一个逻辑上的单一字典,允许你像操作单个字典一样来访问这些字典。当在`ChainMap`中查找一个键时,它会按照字典被添加的顺序从前向后依次查找,直到找到匹配的键为止。如果找不到,就会抛出`KeyError`。
|
存储 运维 监控
TiDB集群管理与维护
【2月更文挑战第28天】本章将全面介绍TiDB集群的管理与维护工作,包括集群的日常运维、版本升级、资源扩容与缩容、安全性保障等方面。通过本章节的学习,读者将能够掌握TiDB集群管理与维护的关键技术和方法,确保集群的稳定运行和高效性能。
|
存储 搜索推荐 对象存储
OSS绑定自定义域名至Bucket默认域名
OSS绑定自定义域名至Bucket默认域名
557 1
|
机器学习/深度学习 编解码 缓存
CPU型号分析避坑指南——2、游戏电脑与办公电脑CPU该如何选择
CPU型号分析避坑指南——2、游戏电脑与办公电脑CPU该如何选择
476 0
|
存储 索引
数组的特点
数组是一种线性数据结构,用于存储固定大小的顺序集合。每个元素在数组中都有一个唯一的索引,可以快速访问和修改。数组支持随机访问,但插入和删除操作较慢,因为需要移动后续元素。适用于需要频繁读取数据的场景。
|
XML 缓存 数据库
Discuz! X3.0 版本的数据库字典
Discuz! X3.0 版本的数据库字典
216 0
|
JavaScript Java 测试技术
基于springboot+vue.js的企业信息管理系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的企业信息管理系统附带文章和源代码设计说明文档ppt
163 0
|
消息中间件 运维 数据处理
【技术解析 | 实践】Havenask问题排查
本次分享内容为Havenask的问题排查,由下面4个部分组成(Hape运维脚本问题、集群相关问题、表相关问题、数据写入与查询问题),希望可以帮助大家更好了解和使用Havenask。
52648 1
|
消息中间件 Java Kafka
windows下kafka的环境配置及rdkafka库的应用
windows下kafka的环境配置及rdkafka库的应用
1104 0
|
数据可视化 搜索推荐 开发工具
小蚂蚁的消除游戏系列教程
小蚂蚁的消除游戏系列教程
249 0