找回密码
 点一下
查看: 1048|回复: 3

可镶嵌类型的装备如何制作?

[复制链接]
发表于 2015-10-8 07:12:28 | 显示全部楼层 |阅读模式
就像D3那样,右键一枚宝石然后左键单击要镶嵌的带孔装备即可将宝石嵌入该装备中。
发表于 2015-10-9 01:16:28 | 显示全部楼层
这个问题说起来太大了啊。不过我感觉你可以把物品做成一个背包。

然后在交换事件发生的时候,用触发器打开背包。

可以用物品栏事件来捕捉物品交换事件,然后有个触发器可以打开指定背包,这时候用触发器把宝石放到暴力。然后把位置换回来。
回复

使用道具 举报

发表于 2015-10-14 18:29:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2015-10-17 00:37:19 | 显示全部楼层
本帖最后由 yxxiaobin 于 2015-10-17 00:47 编辑

这东西不是做不出来,但是要做的很细致就非常困难了。头目的方法是目前看来最优的一种思路。但是当前版本下,包包是不支持套嵌的,也就是说,你的带孔物品如果是直接放在物品栏还好,如果是放在包包内,那么它将不能再携带一个有效的包包了。事实上,一个稍微复杂一点的rpg,它的装备栏都是由包包做的,所以我们只能放弃让物品直接携带包包这种简单做法。要解决这个问题,一个取巧的做法就是做一个隐藏的包包,用于容纳所有的嵌入宝石,这个隐藏包包拥有足够多的格子,这些格子能将宝石装备上去(注意是装备而非携带)。而宝石挂载一个装备后生效的行为,作为宝石的实际作用。这样当宝石放在普通包包里边时不会生效,当插入带孔装备时,用触发器将宝石扔进隐藏的包包里,宝石就被装备上了,然后就会产生作用。另外需要做一个无任何实际作用的物品,用来充满这个隐藏包包,以防捡取物品时进入到这个包包里。
但是这毕竟不是系统自带的功能,仍有一些问题是需要解决的。
1.带孔的物品最好是用对应图标显示,这样一来你需要做N个一套的图标,分别用来显示没插宝石和插上1个、2个、3个等不同数量宝石的状态,在插宝石时需要用触发器升级对应物品的图标已使其正确显示。如此一来,你需要做N多的图标,另外还要写一个图标升级的触发器。假如你有40件物品,每件物品有没孔、1孔、2孔、3孔四种,那么你需要准备的图标有多少呢(1+2+3+4)*40=400个。对于P图小白来讲,哭去吧。
2.物品交换不能被直接捕捉到,你只能捕捉移动事件,当发生交换时,瞬间会出现两次移动事件,由此来判定交换情况。这就需要自己写相关代码,而且必然需要用到定时器或等待,所以只能尽可能趋近与完美,而无法实现真正的完美。
3.因为带孔物品和宝石显然不属于相同的物品类型,所以你不能把宝石直接交换到已经装备的带孔物品上(因为该格子不能容纳宝石)。在镶嵌之前,必须要卸下已装备物品,然后才能进行交换操作。
4.当前版本的物品交换有bug,你不能拿一件物品直接和最后一次移动或获取的物品进行交换,所以利用物品交换来引导镶嵌有时会失灵。而且基于第3点,往往最后一次移动的物品是刚刚卸下的带孔物品。所以拿宝石和带孔物品进行交换,失败的发生率会出奇的高。
5.为了解决上边这两点,你最好利用对话框来做镶嵌系统,而不是直接把宝石拖到带孔物品上的方案,这会增加工作量,而且也会限制镶嵌的方式。
6.如果宝石种类繁多,并不是所有种类的宝石都允许插入特定装备中,比如你不允许红宝石插入武器,而黄宝石只能插入帽子等。那么宝石还要设置成不同的物品类型,另外考虑到宝石等级、宝石合成等情况,物品系统会变得很复杂。这样依赖,你可能需要超人的耐心才能完成这张地图。7.因为宝石并不是真正镶嵌到物品上的,所以当你卸下物品时还要将镶嵌的宝石从隐藏包包中移除,这显然需要用到数据绑定系统,尽管现在有数据表可以用了,但是一个高效节能的数据绑定系统还是需要用用心才能做到的。
总之,这件事不是做不到,而是非常复杂,并且通用性似乎也不佳——因为这个系统是融入到每件物品每颗宝石的,而不是一个独立于物品之外的系统,这样一来即便有人费心的去做好了,别人要用时,物品方面还要考虑到系统规则限制,一不小心就导致系统不兼容。所以除非你想做一个非常非常NB,非常非常完善的rpg游戏,否则的话,还是尽量避免使用此类系统吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-21 10:53 , Processed in 0.156976 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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