求助,拖影血条和检测对方血量
2dfm吧
全部回复
仅看楼主
level 4
我改别人的游戏(自己玩),但是我想加入类似UT那样必杀技锁1血的设定,可是我在脚本编辑器里没找到怎么检测对方血量,只有自己,求教怎么搞~~
2019年06月30日 15点06分 1
level 11
首先你需要在player文件(招式的脚本表里)和kgt文件(系统图像的脚本表里)里分别新建1项目,各写一个【减法模块】(变量作为减数),之所以要自己写就是因为软件没有提供这功能,而这个功能又是必须使用的
然后制作【区分1P和2P的功能】:
在player【战斗中头像】项目中用变量寄存当前头像坐标轴原点在画面中的坐标,判断该坐标大于319时为2P,否则为1P,按情况给一个角色变量(比如A)设置数值(1P为1,2P为2)
然后在Player文件招式列表中新建项目写一个【血量检测模块】,用【血】脚本检测0~1000的每一个数值,无法偷懒,就是1000个【血】脚本码在一起,每个【血】脚本检测到一个数值就跳转到一个【变】脚本,给对应记录血量数值的变量赋值,所以1000个【血】脚本之外还有1000个【变】脚本(所有【变】脚本都对同一任务变量比如A赋值,这个任务变量A就专门用来寄存人物当前血量),写这个模块绝对是体力活,要4小时以上时间完成
在player文件里新建一个项目,写一个【除法模块】(必然要反复调用前面做的那个【减法模块】来做每一步除法),被除数是【角色当前血量(任务变量A的值)】,除数是【角色总血量(和你人物的最大血量数值相同)】,结果是个百分比(2dfm不提供浮点运算脚本,所以要先给被除数利用反复加法的方式乘100倍,除法结果才能是0~100之内的数值,也就是百分比)
在player文件里新建一个项目【计算血量百分比】来调用【除法模块】计算角色血量百分比,并把百分比寄存给角色的任务变量B,以备下一个模块的调用
在新建项目写一个【报告血量给系统模块】,设定好两个系统变量(比如A和B)专门接收1P和2P的血量(百分比),然后调用【计算血量百分比】模块,计算出血量百分比数值(任务变量B值),然后要检测之前【区分1P和2P的功能】里用的那个角色变量A(寄存角色是1P还是2P身份的变量),角色变量A=1时(角色为1P),就把角色当前血量百分比值(由任务变量B寄存)转存给对应系统变量A(系统寄存1P血量的变量),角色变量A=2时把任务变量B的值(血量百分比值)转存给系统变量B;
在角色所有受伤招式项目(受伤招式指的是防御和受伤招式动画项目)开头调用【报告血量给系统模块】,这样一来,每次人物受伤或者防御时,都会报告角色血量百分比给系统
在kgt系统图像脚本表里新建2项目写一个【1P接收血量报告模块(检测系统变量A值)】和【2P接收血量报告模块(检测系统变量B值)】,功能是:
接收血量报告并与当前血条所在血量长度位置(由系统图像中的任务变量A寄存1P血条拖影位置,有系统图像中任务变量B寄存2P血条拖影位置)做比较,如果报告血量(百分率)比当前少,就开始继续播放血条缩短动画,因为是比较两个变量的大小,所以这里必然用到系统图像离我们预先制作的那个【减法模块】);
然后在kgt系统图像里给1P血条制作拖影动画(每次缩短2像素就用100张图,分别是血条缩短到每个步骤时的图形),在这个动画项目中每一个【图】前设置一个【变】来记录当前血条拖影位置,例如1P血量百分率为32%(血条拖影【图】长度刚好为整个血条长度32%)时,这个【变】记录任务变量A=32
然后再在每一个【变】前调用【1P接收血量报告】模块。
同理给2P血条制作拖影动画调用【2P接收血量报告】模块(使用系统图像的任务变量B寄存血条拖影位置)
完成上述全部工作后,系统图像的血条就能配合这个player播放拖影动画了
看我说的挺容易,真自己做就知道这是多么恐怖的工作了,所以文末我强烈建议楼主放弃,或者直接使用置顶《斗魂》模板(这些功能都已做好),自己做的话,没有我使用2dfm的熟练度,2年内你能做出来都是奇迹
2019年07月07日 05点07分 2
谢谢
2019年07月12日 12点07分
level 11
要检测对方血量,其实就是储存对方血量百分比的那个系统变量(1P是A,2P是B)的数值,前提是你把报告血量给系统的功能事先做好
修改别人的游戏的话,连他用了哪些系统变量做什么你都不知道,剩下的变量够不够你做新功能都不知道,还是放弃吧
而且上面所说的一切需要在player文件里制作的那些东西,你要给每一个player重做一遍,累也累死了
2019年07月07日 05点07分 3
谢谢~
2019年07月12日 12点07分
1