设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1030|回复: 10
打印 上一主题 下一主题

[讨论] 【关于物品排列】大家一般用什么方法整理items排序

[复制链接]

Lv5.捕梦者

梦石
24
星屑
7062
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

跳转到指定楼层
1
发表于 2023-4-27 15:31:02 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 纯属小虫 于 2023-4-27 15:32 编辑

XP的默认物品排序方式是按照 物品or技能 的id大小来依次排列的,
如果要在游戏中营造比较好的物品栏视觉效果,同类物品的相邻排序则显得十分重要


比如,如果要让消耗品排列在物品栏的最前端,那么就需要让消耗物品的ID排前,并且在游戏制作的时候就确定好可能的物品类型,如:药品、食品、宝石、皮毛。。。。。
如果处理得恰当,并且物品类型比较确定,那么在游戏中将会有比较好的排列效果,找物品的时候也相对容易。

不过,这种处理方式的缺点就是灵活性缺失。如果制作初期没有将数据库中的内容定好框架,或是在后期某一类型的物品过多,导致留空不足,就只能放在之后,没法按照始定的排列逻辑添加新品了。



如图,我在制作之初忘记给数据库留出足够的空位来放置同类武器。如果我还想添加新的匕首类武器,那便只能在后面的数据库添加,游戏背包中匕首类武器的位置便不是相邻的,如果背包里的武器很多,那找武器将是一件很头疼的事。


处理物品排列最简单的方式莫过于使用背包分类脚本了
为每一件物品定义类型,那么在类型背包中,同类的物品自然会被排列在一起;此外,有分类标签的加持,找物品将是一件很简单的事情。数据库中添加新物品的时候也不用太过考虑顺序的问题了。
物品分类脚本——复制自RMXP图书馆


对于技能而言,也是同理。当角色技能过多时,可以将技能分类为  【回复】 【进攻】 【加持】 等...

但是,分类能够解决整体问题,却没办法解决更细致的问题。
比如,我将背包分为了 【素材】【消耗品】【情报】【武器】【头盔】【护甲】【饰品】....
但事实上,【素材】里还有 (宝石)(植物)(皮革)......   【武器】里还有(匕首)(剑)(钝器).....
如果把大类再进行子类划分,则会显得很复杂。而且在名字后面添加一个类别备注已经很麻烦了,如果再添加一个子类备注,想想就头疼。

或许,我们便可以找到跟物品排序直接关联的脚本,在窗口中的items描绘上对其直接篡改:

以 背包 窗口  为例


for i in 1...$data_items.size
意思是从 1 开始检索,检索到items数据库的末尾,将数量>0的物品进行描绘

我们可以使用一种简单粗暴的方法,在脚本中手写数组,直接让物品强行按照我们所写的id号来进行先后排列::
强排


直接手写的方式简单粗暴,直接把要相邻放置的物品ID填写在一个个数组里即可,且顺序完全可控。脚本后文添加防漏代入,也能够避免强排过程中漏填物品导致背包中的物品消失。
而麻烦点也显而易见,那就是填入排列数组时,每一个物品都得手动添加,如果物品不是相邻的,那还得到数据库一个一个找ID号,然后一个一个填入。


后面有几种别的排列方法我没有实际落入脚本当中,不过可能也具有一定的可行性。
1、按照@data 中item的各种字段属性进行排序;可以是其中对象的 name 的首字母 (这个太粗暴了),name的字数(看起来很舒服,但逻辑上没啥关系)
2、按照item名称中的关键字进行排序;比如,如果物品的名称含有“宝石”,那么就将其排列在一起;含有“药水”,就将其排列在一起。(很方便,但是对物品的命名比较严格;毕竟同样是剑类武器,我可以叫它铜剑、铁剑,也可以叫它镇天、开天...)
3、按照item的描述中的关键词进行排序;比如,在描述的开头或结尾写上【药水】【宝石】【剑】【弓】...然后同上逻辑进行排列。
4、按照item的属性&属性防御进行排序;我新添加若干的【属性】,将序号>**的属性名字命名为【药水】【宝石】【剑】【弓】.....然后在对应处打勾就好了。排列时检索 该物品的属性中,序号>** 的属性中,哪个是打勾的,它就属于哪个类。然后依次同类合并排序


以上是本人对物品排序的理解和一些经验,欢迎大家讨论分享新的items排序方法和理念。

Lv5.捕梦者

梦石
24
星屑
7062
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

2
 楼主| 发表于 2023-5-3 18:56:52 | 显示全部楼层
灯笼菜刀王 发表于 2023-4-29 17:52
物品分类是一个挺好的做法,  而且二级菜单也没啥, 以上下左右的方式来进行一二级菜单的切换即可减少操作

在物品分类中添加 【新品】和【全部】倒是能够改良找不到物品的问题。
话说,【新品】类的脚本要怎么写呀?新建一个对应所有物品的开关组,然后获取物品(gain_item)的时候把对应获取物品的开关打开吗?

点评

用一个数组把新获得的道具ID塞进去就是了  发表于 2023-5-15 15:48
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-13 15:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表