2DFM 能否为角色制作全程跟随的宠物
2dfm吧
全部回复
仅看楼主
level 7
如题 像娜可露露这样的老鹰。求一个大概的思路
我试过在人物各个动作中添加一个“物”(宠物)和一个“变”(用来给宠物要进行的动作赋值)
角色动作中这个“物”(宠物)由一堆“变”组成,每个“物”里的“变”用来给角色动作里的“变”所赋的值进行条件分析,再指向相应的宠物动作来达到宠物跟随的角色的效果,但是感觉不理想,也可能是遗漏了什么或者思路不对。
指向不同的宠物动作
字丑见谅
2019年09月28日 09点09分 1
level 13
这么多变……变量够用吗?2dfm能提供的变量是有限的啊
2019年09月28日 17点09分 2
level 13
不过据吧主教程所说是可以做的
2019年09月28日 17点09分 3
level 7
姐妹花,她其实不是一个角色带一个宠物,她是把2个人做成了一张图,是一个整体。
而我是希望让角色 和 宠物 做成2个独立的个体,甚至在必要的时候让二者能够有一定的独立行动能力
2019年09月30日 04点09分 5
level 11
可以,但没有简单的办法,原因如下:
宠物跟随必须计算宠物(【物】体)和主人(角色本体)的坐标差(也就是道具坐标和道具的【上级坐标】之差),那就要用到【变量减变量】这个基本功能,但2dfm并没提供(默认只有变量之间的加法),所以你需要先做一个【减法模块】被【调】用来实现【变量减变量】
很容易想到,只要能把一个变量A的数值转化为它的相反数-A,就可以被其他变量B加这个相反数-A来实现B-A了,但是实际做起来没那么容易:
1----这个计算过程需要中间变量寄存转换相反数过程的中间步骤数据
2----宠物是【物】体,不能使用【任务变量】,而必须使用【角色变量】,所以这个【减法模块】必须使用【角色变量】,连中间计算过程的数据也要用【角色变量】寄存,否则宠物调用它的时候就会失效(中间过程不计算,无法给出正确输出结果),所以事先必须计划好使用哪些变量,不能和其他使用角色变量的功能共用变量,否则多个功能一起运行会出错
3----所谓模块就是一个没有【图】而只有【变】【跳】这类脚本的【纯计算程序】招式,而且里面不允许包含【调】,因为将来做好这个模块是要被宠物【调】用的,而被【调】用的招式里如果含有【调】,那么里层这个【调】就不会被执行,结果自然出错,因此只能老老实实用笨办法码【变】【跳】脚本实现模块的制作,很多时候会有重复的指令序列,都要老老实实重复写出来,不能偷懒
所以,一个【减法模块】可能也需要你花至少一天来完成(这过程里你还是要注意,2dfm没有变量减法功能,所以你做模块的过程只能用【变量加法】和【数值减法】实现,外行的话,这个设计可能要思考和反复尝试半个月才能找到正确方案),之后才轮得到制作宠物跟随。
宠物跟随除了判断宠物和主人坐标差以及主人所在方向来让宠物选择向什么方向移动之外,宠物还不能出战斗场景(物体出了战斗场景就会消失),所以你还需要一个判断宠物坐标来避免它走出战斗场景的功能,这功能和【跟随】功能一样需要反复执行
此外,实际上制作时你会发现,人物面对什么方向时,坐标差值的正负号是有不同的,所以如果你一开始没搞清人物面对方向,宠物就会走错方向或者不跟随(它以为主人在它前面,它不用动),所以实际上你需要提前至做一个让人物在每个动作开始时判定自己面对方向的功能来返回面对方向的标志变量值,给宠物作参考
主人面对不同方向时,宠物跟随需要做两套不同判定程序,因为宠物一旦在开场时被发出,就不会自动转身了,主人如何转身,宠物都是一开始的面对方向(也就是主人最初的面对方向),这个方向将会影响宠物移动的方向是否相反,所以宠物最初面对左侧还是右侧,也要给它做两套不同的判定
除了这些之外,宠物的移动招式也要考虑面对方向,也要做两套,因为宠物不会自动转身,只能用程序判定让它向前还是向后走,总不能让宠物倒退着靠近主人(MJ再世),一般的方案是向前走和向后走直接做成面对不同方向的招式,但是最终还有个问题是,行走结束后宠物要面对什么方向,一般来说需要一个判定,让它面对主人,或者让他保持和主人面对方向一致(这两种方案都有人用,做法完全不同)
置顶《斗魂》模板里面自带了【减法模块】【宠物不出场景】【召唤宠物不出画面】等功能,就是给制作宠物使用的,不过即便如此还是有大量复杂制作需要你自己完成(如上所述)。
以后有时间的话我可能会做一个例子给大家下载看看
2019年09月30日 14点09分 6
[大拇指]
2019年10月04日 13点10分
level 11
物 跟随角色移动,发射出去的是分身,你只要做一个看起来没问题的返回
2020年09月05日 17点09分 8
level 15
大神能否详细讲一下防止【物】移出屏幕导致消失的思路,在【斗魂】里看了很久一直不太理解
2021年02月03日 07点02分 9
1