看来我是做不成真人快打了- -
2dfm吧
全部回复
仅看楼主
level 9
∪咖啡 楼主
sub zero 的一个冰冻拳制作就把我难住了。。。。。。。。。。
2011年08月18日 10点08分 1
level 11
可以详细描述下冰冻拳的效果,让大家帮你寻找制作思路。
2011年08月18日 12点08分 2
level 9
∪咖啡 楼主
例:
1P放出一个冰波,2P被击中后保持现进行的动作那一帧冻结,
2p冻结时间过后自行解冻,空中解冻摔下来,地面上则变为通常站立状态
或被攻击解冻,解冻时有碎冰效果
如果2p已经冻结,1p再放个冰波命中2p后
1p冻结,2p解冻
2011年08月18日 13点08分 3
level 11
用特效里面的停止敌人就可以了
2011年08月19日 00点08分 4
level 9
∪咖啡 楼主
[拍砖]你说的好轻松
2011年08月19日 07点08分 5
level 9
∪咖啡 楼主
空中我不会做
2011年08月19日 07点08分 6
level 11
招 攻击命中 跳转到 停 相方 1000 色 自定义透明32 图
2011年08月19日 10点08分 7
level 11
lz
的这个问题,个人感觉,想制作得周全的话还是很复杂的,等火吧有空了给考虑下吧。
不过,lz不必因这个难题而放弃制作的想法,
每款制作都有其技术上的核心难点,不能知难而退,可以先把基础简单的部分先制作出来,剩下的和大家一起探讨解决。
2011年08月20日 14点08分 8
level 5
1P放出一个冰波,2P被击中后保持现进行的动作那一帧冻结,
2p冻结时间过后自行解冻,空中解冻摔下来,地面上则变为通常站立状态
--------------------------------------
简化的做法:
先制作一个项目{冻结判定},这是一个脚本模块,被用来[调]用,脚本步骤是:
[变1][跳][停][变2][槽][末尾空白方格]
[变1]检测某个角色变量A是否是1,如果是1就跳转去[停]
[跳]跳过[停][变2]至[槽]
[停]暂停敌人一段时间
[变2]设置角色变量A=0
[槽]数值全0,纯占位用
1P发射冰波招式名称{发射冰波},发招到收招结束的总时间,应该足够冰波自行消失,这样,可以在冰波发出后的收招动作里,每个[图](停留时间最好是2~10,不要更长)前用[调]调用{冻结判定},即反复检测某个角色变量A是否是1,如果是1就将敌人停止一段时间
发出的{冰波},用[招]判断命中(杀伤可以为0)敌人后,跳转到命中后的{冰波爆裂}动画,在该动画里设置角色变量A=1
效果:冰波命中敌人后,在很短延迟时间(取决于{发射冰波}的收招里面检测角色变量A是否是1的频率,也就是[图]的停留时间2~10)后,敌人被冻结,冻结动作正是敌人当前的动作
这个做法的缺陷是,发波动作的收招时间较长
完备做法:
同样准备上述{冰波}、{冰波爆裂}招式项目,做法和上述相同,但在{冰波爆裂}中另添加[变]设置角色变量B=0
{冻结判定}脚本如下:
[变0][跳1][变1][跳2][停][变2][变3][槽][末尾空白方格]
[变0]检测角色变量B是否是1,如果是1就跳转去[变1]
[跳1]跳过[变1][跳2][停][变2][变3]至[槽]
[变1]检测角色变量A是否是1,如果是1就跳转去[停]
[跳2]跳过[停][变2][变3]至[槽]
[停]暂停敌人一段时间
[变2]设置角色变量A=0
[变3]设置角色变量B=0
[槽]数值全0,纯占位用
{发射冰波}中,发射冰波后,立即设置[变],让某个角色变量B=1,收招动作[调]用{冻结判定}和前述方法完全相同,但此时不需要收招动作很久
1P人物的动作(站立、进退、蹲起、转身、跳落、攻击等)都将[图]细分为停留时间2~10的状态,每个[图]前[调]用{冻结判定}即可
效果:
冰波命中敌人后,无论我方此时处于什么运动状态,敌人都保持当前动作被冻结指定时间
要想让2p挂上冰挂,可以在{冰波爆裂}动画中制作冰挂覆盖敌人(当然位置就不那么准确了)
上述做法的优点:
即使2P不配合,1P也能将其冻结
缺点:
无法指定2p被冻结的特效,比如2P身上准确位置挂上冰挂,用上述方法无法达到

2011年08月21日 10点08分 9
level 5
1P放出一个冰波,2P被击中后保持现进行的动作那一帧冻结,
2p冻结时间过后自行解冻,空中解冻摔下来,地面上则变为通常站立状态
或被攻击解冻,解冻时有碎冰效果
---------------------------------------
现在多了第三条要求,所以意味着制作方式要全面改变
这就要求被攻击的2P必须来配合1P
也就是说,我们需要给2P制作专门对应于冻结的“受伤反应”
这种方法中,1P的冰波和普通飞镖没有任何区别,也就是说我们不需要对1P进行任何特殊制作,只要常规制作扔飞镖即可,设置冰波的[敌]对空和对地击中时,激活对手对应的“被冰冻”受伤反应即可
2P的冰冻受伤反应(以下简称冻伤),需要能够继承之前的动画,这就要求我们必须使用“画皮”(此名称为 @cryo0_0 吧主所创)的制作方式来制作整个人物所有的招式

2011年08月21日 10点08分 10
level 5
画皮模式简介:
画皮模式,顾名思义,整个人物的动作图像只是画皮,也就不是直接在人物的肇事里面直接用[图]引用动作图像,而是制作一个“与源(角色本身)同在”的[物]来显示动作图像
具体做法就是在角色每个招式最开头用[物]引用对应的图像项目
画皮模式中的画皮[物],有专用的管理号,不要和其它飞镖混淆,这样做的意义就是,每当玩家用指令激活一个新招式,新招式开头的画皮[物]因为与之前招式的画皮[物]具有相同管理号,因此会自动取代之前的画皮,使画皮与招式同步更新
画皮模式的另一个特点就是对前面招式的动作图像的继承,只要我们在新招式开头没有使用新的[物],那么新招式就会自动继承之前没有播放完的[物]的动画继续播放,对于楼主所说的被冰冻时继承之前的动作,以及很多游戏中存在的“霸体(受伤时原有攻击动作不被打断)”技能来说,画皮模式是攻无不克的
由于这个特点,画皮模式的[移][攻][防]等脚本仍在人物本体的招式项目内,人物本体的[图]都是透明图片,只用来计时,制作时要注意[移][攻][防]和[物]中的动画在时间上的匹配
画皮模式最重要的技术,就是[物]的动画的暂停:
画皮模式中的所有[图],都是停留时间极短(不超过10)的,每个图之前[调]用{动画暂停}模块,以便可以随心所欲暂停动画
{动画暂停}模块,基本原理就是:
[变1][跳][停][变2][槽]
[变1]检测角色变量A是否是1,如果是1就跳转去[停]
[跳]跳过[停][变2]至[槽]
[停]暂停动画
[变2]设置角色变量A=0
[槽]纯粹占位
在《斗魂》的模板角色里,实际上{暂停动画}模块可以根据给定的角色变量A的具体值来进行对应长度的动画暂停,不过基本原理和上面的简化版是一样的
对于你需要的“被冰冻”受伤反应来说,它首先是要暂停一段时间的,所以它本体项目开头也有[停],此外它是继承前招动画的,也就是本体自己的项目开头没有[物],只是到暂停时间该结束时,才出现自己的[物]来显示自己的受伤动画,此时人物本体的[移]应该与[物]的出现相匹配
以空中的 冻伤 为例,这个招式的本体开头,有[停]却没有[物],[停]前有[变]设置角色变量A=1,以便让上一招遗留的[物]在播放时自己检测到A=1来暂停动画,形成冰冻状态
请注意,如果希望冰冻状态被攻击,请给 冻伤 本体设置[防]
暂停结束后,冻伤这一招的本体项目出现自己的[物]和[移],[物]引用空中解冻摔下来的动画,[移]配合这个动画作抛物线移动
地面的 冻伤 也是类似的
由于本体本身有[防],所以可以被攻击,被攻击后跳转到其他受伤动作时,由于那些动作开头就有[物](不继承前招动画),所以冰冻效果自动在受伤时解除

2011年08月21日 11点08分 11
level 5
被冻结者身上的冰挂,可以给 冻伤 本体项目添加另一个[物]引用对应{冰挂动画}来实现
这个[物]的管理号必须和画皮不同,而且这个[物]之前,即在 冻伤 开头还有一个[图],停留时间2,否则下面的制作将有bug。
此时{冻伤}本体项目的脚本是:
[移(本体被冻结的移动停止)][变(角色A=1暂停前招动画)][防(本体受伤区域)][图(停留时间2)][物(冰挂)][图(暂停的那段时间)][物(本体的动画,比如摔落)][移(本体的抛物线下落移动)][图(本体摔落的计时)]
被解冻时候的碎冰效果,可以用如下方式实现:
在{冰挂动画}开头添加[变]设置角色变量B=0
细分{冰挂动画}中的每个[图]停留时间为2~10,每个[图]前添加[调]引用{碎冰判断}项目
{碎冰判断}的脚本:
[变1][跳1][变2][跳2][槽][完]
[变1]检测角色变量B是否是1,如果是1就跳转去[变2]
[跳1]跳过[变2][跳2]至[槽]
[变2]设置角色变量B=0
[跳2]跳转去冰挂破碎的动画
[槽]纯粹占位
此时给人物所有受伤反应招式本体开头添加[变]设置角色变量B=1
冻伤 的脚本变成:
[变(角**=1破掉上一次冰冻的冰挂)][移(本体被冻结的移动停止)][变(角色A=1暂停前招动画)][防(本体受伤区域)][图(停留时间2)][物(冰挂)][图(暂停的那段时间)][变(角**=1破掉本次冰冻的冰挂)][物(本体的动画,比如摔落)][移(本体的抛物线下落移动)][图(本体摔落的计时)]
也就是说,当2P被冰波击中,就会自动按照冰波的[敌]的设置转入 冻伤 反应,此时先破掉前一次冰冻的冰挂,并会继承前招动画并暂停之(并产生冰挂),暂停结束后自动摔落(同时破掉本次冰挂)
在这个过程中如果被击中,则会因为其他受伤反应开头都有[变(角**=1破掉上一次冰冻的冰挂)]脚本,破掉本次的冰挂,并且转入对应受伤反应去
2011年08月21日 11点08分 12
level 5
角**=1
--------------------
角色变量B=1
如果2p已经冻结,1p再放个冰波命中2p后1p冻结,2p解冻
-------------------------------
上面已经完成的部分里,2P如果连续被冰波击中,都会被连续冰冻,而且冰挂连续碎掉
要想让1P被反冻结,就需要在1P的冰波上面做文章
将冰波脚本列出:
[物][招][攻][图][跳]
[物]与源同在,管理号与当前冰波不同,引用另一个项目(不可见,但有[攻]和[敌],[敌]设置导致敌人冻伤,请注意,你这个项目的[攻],应该在正常画面区域设置好坐标和范围)
[招]攻击相抵时,跳转到{冰波爆裂2}
[攻]这个[攻],应该在正常画面区域设置好坐标和范围后,将其纵坐标+2000移到画面外,以免碰到画面内的正常[攻]
[图]停留时间2~10,冰波的动画
[跳]跳转到{冰波爆裂1}
{冰波爆裂1}的脚本:
[物(与之前冰波的[物]管理号相同,引用“没有设置”,用来结束之前的[物]的[攻])][图(爆裂动画)][完]
{冰波爆裂2}的脚本:
[物(与之前冰波的[物]管理号相同,引用“没有设置”,用来结束之前的[物]的[攻])][变(设置角色变量C=1)][图(爆裂动画)][完]
然后再给你的1P所有招式的[图]进行细分,停留时间2~10,在每个图前[调]用{自我冻结}
{自我冻结}的脚本:
[变1][跳1][变2][跳2][槽]
[变1]检测角色变量C是否是1,如果是1就跳转去[变2]
[跳1]跳过[变2][跳2]至[槽]
[变2]设置角色变量C=0
[跳2]跳转去1P被冰冻的招式(另外做出)
[槽]纯粹占位
然后给2P的 冻伤 开头添加[招][攻]
[招]攻击相抵时跳转到{空中摔落}
[攻]大小与位置都和2P 冻伤 的[防]一样,然后纵坐标+2000使之能和1P冰波中的画面外的[攻]相抵
这样,只要2P在 冻伤 中受到1P冰波攻击,系统优先计算“攻击相抵”成立,于是2P自动转入空中摔落并碎掉冰挂,而1P因为角色变量C=1,自动进入自我冻结的状态

2011年08月21日 11点08分 13
level 5
[汗][88]
2011年08月21日 11点08分 14
level 9
∪咖啡 楼主
[啊!]
2011年08月21日 12点08分 15
level 12
我初步想了一下用MUGEN制作这个效果。。。[汗]
一对一还好说,甚至比这个简单得多
2对2那就要了钦命了,比这个麻烦很多倍[啊!]
2011年08月21日 13点08分 16
level 12
2dfm的做法,至少在多人混战时还是可靠的
2011年08月21日 13点08分 17
level 9
∪咖啡 楼主
mugen的效果不是什么都通用么?
我没学过
不过玩了那龙珠火影整合后就有这感觉了
诺大的整合,竟完全没啥游戏性。。。。。。。
全靠人物多嘛
mugen自带范例还好些
2011年08月21日 13点08分 18
level 12
有些效果也得靠做,不是自来就有的,比如继承动画,比如你这里说的反冻结效果,碎冰等等
而且,你的人物就算做了这些效果,别人的人物没有这些效果还是白扯
没有被火烧的受伤反应的人物,是不怕火烧的,谁烧它也不冒火,就是这个道理
这一点和2dfm没有本质区别
2011年08月21日 15点08分 19
level 12
mugen据说也有几个好kof的系列,不过我没有亲见
早先有个只有几个角色(有八神和克拉克,其他的忘记了)的mugen制作的kof游戏很不错,据说是什么比赛专用,不过那时候我在痴迷网游,没什么具体了解
2011年08月21日 15点08分 20
1