嗨!大家好,我是小蚂蚁。
今天我们分享一下如何使用滚动列表来实现一个物品图鉴功能。
如图,在很多的游戏中都有这种物品图鉴的模块,用于玩家在游戏的过程中收集解锁物品,或者敌人,宠物等等。
这种功能能够满足玩家的收集欲望,就像我们小时候收集的画册,邮票,现在大家喜欢收集的手办,卡片等等。只要有这样的一个收集图鉴,你就总是会想把其中的所有物品全部集齐或者点亮。
下面我们就来看一下如何在微信小游戏制作工具中实现一个这样的物品图鉴功能。
先来布置一下示例的场景。
如图,我们导入了滚动列表插件(位于素材库中的插件类别中),制作了两个容器,一个是显示物品图鉴的面板,一个是用于滚动列表中的物品项。
重点来看一下滚动列表的属性设置。
有的同学问我做的滚动列表为什么只有一行或者一列呀?那是因为你没有设置行数或者列数呀!这里滚动方向选择的是“上下”,下面对应的会出现列数的属性。如果滚动方向选择的是“左右”,那下面对应的会出现行数的属性。
在子元素中选择我们制作好的“物品项”容器,子元素中可以选择单个精灵或者容器。
接着,我们来看一下对于物品项的处理。
如图,物品项容器中包含了两个部分:一个精灵图片用于显示物品图,一个基础文字用于显示物品名称。
在滚动列表中要显示很多个不同的物品,对应的不同的图片和不同的文字,这些该怎么处理呢?
对于图片来说,可以通过为一个精灵增加多个造型来实现。
我们可以为一个精灵图片增加很多个造型(你可以把造型理解为一个人的很多套衣服),每个造型都有一个独立的编号,这个编号就是切换造型的关键。
对于物品名称来说,最好是也能按照一定的编号来设置,我们可以借助列表来实现。
如图,因为物品只需要一个名字,所以我创建了一个列表,如果你的物品还需要介绍等其它信息,可以选择使用一个表格来管理数据(表格的行号就是编号),列表中的第几项代表的就是这个物品名字的编号。
这个编号就是一把钥匙,只要有了一个物品的编号,我们就能够通过这个编号获取物品的图片以及名称了。
最后,来看一下物品项上的积木逻辑。
这里有两个重点:第一是所有滚动列表中的项,都是被滚动列表插件克隆出来的,所以初始化操作应该放在“当克隆体启动时”积木中,如果你把初始化操作放在“当场景启动时”积木中,就会发现初始化操作没有完成。第二是列表中的项是从 1 开始计数,想要知道当前是第几项,可以通过使用积木“自己的列表索引”来获得,这个列表索引就是我们之前所说的那把钥匙。
滚动列表一共有 15 项,对应的列表索引是 1~15,物品精灵有 15 个造型,对应的是 1~15,存储物品名称的列表中有 15 项,对应的是 1~15。每个索引对应一个造型和一个物品名称,很像是一把钥匙对应一把锁。
为了测试,我们增加了一个按钮,创建了一个“当前等级”的全局变量,以及一个“物品解锁”的通知。
每点击一次按钮,等级增加 1 ,然后解锁一个新的物品。
在真实的游戏中,有可能通过关卡来解锁物品,也可能通过游戏中的某些节点(干掉某种怪,收集到某个物品或宠物)来解锁物品。我们今天所讲的是物品图鉴的展示功能,至于背后的具体数据逻辑需要视具体的游戏而定。