幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2080|回复: 3

最新遇到的几个比较有趣的2DFM问题,和大家一起学习.

[复制链接]

27

主题

185

帖子

2036

积分

⑥精研

积分
2036
发表于 2008-1-28 19:58:04 | 显示全部楼层 |阅读模式
下文中黑体带下划线部分,是本人无法解决的问题,欢迎morley及其他朋友一起讨论。非常感谢。





问:2DFM这款游戏,是不需要读盘时间的,为什么许多优秀的同人2DFM游戏,却加入了读盘画面?[/size]
答:利用破解版2DFM查看这些读盘画面,发现是很短时间的动画DEMO。为何在两场打斗中间加入DEMO呢?

正常的做法——
战斗-战斗-战斗……

许多同人游戏采用的方法——
战斗-读盘DEMO-战斗-读盘DEMO……

笔者经过测试发现,如果在没有DEMO的情况下,上一场战斗结束后,系统会立刻读取下一场战斗数据。如果战斗数据比较庞大的话,那么上一场战斗的画面最终一瞬间可能会出现人物图象调错的现象(例如敌人尸体一瞬间变成其他角色的某一张图)。
而利用中间加插DEMO的方法,则意味着上一场战斗之后立刻读取的数据不是下一场战斗将要出现的角色、场景,而是读盘DEMO。这样读取量相对比较小,上一场战斗结束的瞬间将不出现任何错图的情况,接着在显示DEMO的时候系统再读取下一场战斗的数据。


问:如何让冲击波互相抵消?
答:2DFM这款软件,可以在系统设置里选上攻击互低。这样冲击波便可以互相抵消了,但这样一来,人物的所有出招都可以互相抵消,非常混乱。平衡性、节奏感也大打折扣。
于是,我们便不能选择“攻击互低”。而应该从冲击波的攻击判定那里做文章。
morley的建议是——给飞行道具设定受伤属性,请注意,这里的受伤是要用专门的序列号的,也就是说人物无法攻击冲击波,只有冲击波才可以攻击冲击波,
首先制作一套正常的冲击波,在冲击波的项目前依次加入“攻、防、攻”,注意前面第一个攻为序列号0,这个攻是针对敌人身体的。中间的防和第三个攻序列号请改为1。也就是说后面两个设计是针对冲击波的。
然后制作冲击波爆炸的项目,在正常冲击波那里加入判定条件,例如“攻击到敌人”、“敌人防御”……等等,一律引导到“爆炸”的项目里。

我们回头来看看正常冲击波里的“攻、防、攻”。首先将第一个攻红框设置为
-9   -1
+20  +29

第二个防设置为(这个防御不要勾选碰撞属性)
-14   -1000
+16   +28

第三个攻设置为(这个攻的攻击力可以设置为0)
-9   -10001
+20  +29

说白了,第一个攻是用来打人的。第二个防和第三个攻则是用来冲击波互相打的。
具体说来,上面的数字除了“-1000和-10001”之外,其余数字确实可以改。但可以怎么改我就不清楚了,为了便于观察,我先把-1000改为0,-1001改为-1,看看这几个框的形状到底是怎么样。我发现攻击框是要大过防御框,但为什么要这样做以及我如果改动框会怎么样?我也说不清楚。我只知道我修改了其他数据,游戏中波会经常穿过对方波,根本不爆炸。

照上面这样设计之后,冲击波便可以正常的相撞并爆炸了。



问:为什么冲击波可以无限发?如何让冲击波消失之前角色不可以发射下一个冲击波?
只需要在冲击波的动画项目里加一个系统变量,例如“系统变量C +10”。然后在冲击波爆炸的动画里加一个“系统变量C 0”。这个意思就是说冲击波存在时变量是10,而冲击波不存在了就变成0。
接着在角色释放冲击波的动画项目的最前面加一个判定变量,只要满足“系统变量C +10”,那么角色将变成重拳或者轻拳。(视乎该动作是由什么拳来释放)。如果“系统变量C不等于10”,那么冲击波便正常放出。

如此一来,只要冲击波没爆炸,那么角色将放不出另一个冲击波。

不过,本人目前这样设计遇到了一个问题,如果敌人跳跃躲过了冲击波,那么冲击波将飞到版外,而“系统变量C +10”将是永远成立的,也就是说这样情况下本人角色再也放不出冲击波了,这个问题本人暂时不知道怎么解决,看看大家有什么想法?


问:如何制作时间拖慢的特效?
答:2DFM的系统里有“时间停止”的特效设置,但没有“时间拖慢”的特效设置。假设想制作黑客帝国那种慢镜头躲子弹的效果,或者街霸ZERO3在KO的瞬间人物动作变慢的效果。便要利用到许多个短暂的“时间停止”。
在你想要发出“时间拖慢”的招示里,导入物体,该物体连接到一个无关紧要的层里,该层里任意放置一两张图片,图片记得加上“100%透明”,或者直接导入全透明图也行。接着,在该层设置一个循环,该循环要连接到另一个层里。

在另一个层中,也放入一张无关紧要的透明图。这里再放一个时间停止,时间设置为5或者更短。而之前的循环则设置为50次。(时间停止和循环次数可以根据实际需要再做调整。)

换句话说,包括最初的招示在内,你用到了三层来制作时间拖慢。发动之后的效果是50次瞬间停顿0.05秒。由于人眼追踪速度不够快的缘故,实际上我们完全察觉不出时间是停顿了50次,而是以为时间在拖慢。

为什么要用三层,而不是两层来制作这个特效?这是因为假如在最初招示那层就设置循环的话,这会导致我方角色和敌人角色等循环结束了之后才可以继续行动。这样一来50次循环实际上就等于是时间停止了2.5秒了。巧妙地利用先导入一层“物体”,再设置循环的方式,可以让我方角色不陷入时间停止的局面。

顺带说一下,由于有些时候人物动作变慢的特效不是很明显,为了突出效果,或者说为了提醒玩家“现在时间拖慢了,大家注意啊!”。可以在招示发动后导入一张透明色图,让整个游戏画面变红,或者变亮,又或者像制作超杀背景速度线一样导入其他特效图。这样一来,玩家很轻易地察觉出时间拖慢了,从而达到预期的目的。


问:如何制作隐藏人物?
答:(morley解答)暂时并未发现2DFM可以依靠输入密码等方式调出隐藏人物。所以目前比较简单的一个方法就是:假设你制作了13个角色,那么制作选人画面的时候只制作12个选人位。这样一来第13号角色不就排在了隐藏的第13号位置了么?
假如想让该角色排在第20号位置,那么依次制作几个空白角色即可,13-19都为空容量的角色。
2DFM的选人顺序是按照开发者安置角色位置而定的,在编辑器里从上到下是选人时正常的排序位置。当玩家移动光标到13-19号位置时,按键是无任何反应的。


问:如何制作道具掉落?
道具掉落可以参考CAPCOM的《口袋战士》,以及2DFM同人游戏《DotFighters》。其实这套系统的制作原理非常简单,和冲击波一个道理,只不过人物释放出的不是冲击波,而是道具。并且敌人受伤反应为增加自己的体力或者增加能量值。
制作方法为:首先选好道具的图素,可以为苹果、宝石之类。然后单独制作好道具弹向空中,再掉到地上的效果,掉在地上的效果一般反弹一次比较合适。在最初道具弹向空中的时候,可以依靠“随”来设计出几条弹射路线,这样制作出来的道具才逼真。最后道具掉到地面后要设计好2-5秒左右消失。(以上请根据你的游戏进行实际测试)

接下来最关键的设置,那就是让道具具备攻击力。制作方式和冲击波一样,在道具上加插一个“攻”,红框划选道具。攻击力自然设置为0喽,然后敌人反应设置全部为空。接着攻击结果为增加敌人的能量或者体力。
此外,还要在攻击的瞬间加入音效。这里所谓的攻击瞬间其实就是道具被别人拣走啦,音效最好是很短的加血、加能量的那种效果音。
再到道具掉在地上的这一系列动作最前面加入“招”。如果攻击到敌人,那么图片自动跳到最后一帧,目的是为了让道具被人拣到后立即消失。

以上都完工后。就到敌人受伤动作那里加插“物”,也就是用导入物体的方式来导入道具。只要敌人一挨打,那么他就会随机弹射出一个小道具。如果觉得弹出道具的几率太频繁。还可以在道具导入的时候加插“随”。总之随机性可以由大家设计。

以上是我学习到的东西,但现在问题又来了。我打敌人后弹出来的道具,只能我拣。敌人碰到道具是无效的,这样一来战斗就有些不公平了。那么如何设计成“人人都可以拣道具呢”?
换句话说,如何让道具的“攻”可以攻击到所有人?
有一个方法,那便是在故事里将CPU的攻击对象勾选“角色”,然后还要勾选“CPU1”。也就是说CPU1这位角色可以攻击“角色”和“CPU1”两个人。这样一来,CPU1掉出来的加血道具自然也可以被CPU1他自己拣走了。

但是……这个方法只适用于敌人NPC角色,我方角色的攻击似乎是不可能对自己有效的。况且,假如CPU1可以释放出冲击波,而且只要CPU1的移动速度比冲击播快,那么这个冲击波是可以攻击到他自己的。如何解决掉落道具可以让所有人拣呢?大家说说自己的看法吧。
《东东不死传说》09年10月发布正式版
回复

使用道具 举报

0

主题

4

帖子

43

积分

②入门

积分
43
发表于 2008-1-29 10:53:04 | 显示全部楼层
-------不过,本人目前这样设计遇到了一个问题,如果敌人跳跃躲过了冲击波,那么冲击波将飞到版外,而“系统变量C +10”将是永远成立的,也就是说这样情况下本人角色再也放不出冲击波了,这个问题本人暂时不知道怎么解决,看看大家有什么想法?----------

这个问题,是否可以用在版边设计碰撞属性来解决呢?碰到了就消失了.(因为还在改画中,对变量等技术问题真的只有理论上的假设)

-------但是……这个方法只适用于敌人NPC角色,我方角色的攻击似乎是不可能对自己有效的。况且,假如CPU1可以释放出冲击波,而且只要CPU1的移动速度比冲击播快,那么这个冲击波是可以攻击到他自己的。如何解决掉落道具可以让所有人拣呢?大家说说自己的看法吧。--------

不知道能不能从第三者这个方面考虑?每次对战加入一个隐藏的圣诞老人,攻击中谁都等于攻击中他,同时他就会派礼物.

PS:每次看到你的技术更新真的获益良多,不过希望能整合在一起.
象韩韩的格斗天书一样定期更新,其实越多朋友接触到这些前辈的经验积累,就越容易大家交流(最主要是节省绕路的时间),谢谢
回复 支持 反对

使用道具 举报

27

主题

185

帖子

2036

积分

⑥精研

积分
2036
 楼主| 发表于 2008-1-29 19:53:11 | 显示全部楼层
回楼上朋友:
1.非常奇怪,我死活做不出冲击波的碰撞属性来……我给冲击波设置一个防,勾选碰撞,然后拉出一个绿框。
为了验证,接着设计“假如遇到墙壁”后,我引导它到一个爆炸的效果里,结果冲击波飞到版边根本不爆炸……汗……………………

2.目前的难点,在于要让角色走到道具那里的时候,道具会产生攻击判定,从而引导到消失的动画里。而角色自己掉下来的道具,我怎么设计都无法攻击到自己。

至于攻击隐藏人物,这点子很不错,但是我要让我方角色走到道具那里,道具就会消失,似乎第三者满足不了这个条件哦……


大家多出出主意吧,人多力量大。
《东东不死传说》09年10月发布正式版
回复 支持 反对

使用道具 举报

13

主题

217

帖子

2439

积分

⑥精研

积分
2439
发表于 2008-1-31 09:46:37 | 显示全部楼层
冲击波的问题,可以设定冲击波碰撞到墙壁后,变量发生变化。或者用冲击波的坐标来判断它是否飞出屏幕外。来设定变量的变化。

没错吧???很久没碰2DFM了。。。
http://blog.sina.com.cn/ali213 我的博客.有2DFM教程.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-27 03:57 , Processed in 0.033212 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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