- 注册时间
- 2004-3-5
- 最后登录
- 2016-1-1
⑧专业
赋予你第五自由
- 积分
- 108021
|
在很多游戏里面,我们都会见过这样的图片显示方法:
图片以一定速度向某方向移动,若干时间后速度变换(通常是变慢了),在视觉上造成一种缓冲的效果(就像一辆车刹车时候那样).这样的效果给人的感觉是自然,活泼.因为图片移动速度是一成不变的话,就会给人的感觉很僵硬了.
在这里我想分享一下自己做这样效果的思路,不知道还有没有更加简单的方法,不过算是值得参考一下吧..?(^ ^;)
首先呢,我又来举个抽象的流程图....(-。-||)
在上图中,我们得努力想象成那个圆圈圈(- -想不到也没关系..)是你要消失的图形...
以向右运动为例子,图形首先是向右运动一段距离,接着再来运动一段小距离运动,那这个效果的基本"骨干"就出来了.
可是这个缓冲效果究竟是怎么制作出来的呢?如果只是按照上面所说的倒不如图形从最初位置一直移动到最终位置?
奥妙就在后面的那一段小距离中=v=
这种缓冲效果其实就是因为图形本身在运动的时候保持一定速度,当他的速度突然慢下来,我们的视觉神经就会跟刚才的速度做一个比较,而当比较完毕的时候,图形已经移动完毕了(最后一段是比先前的短很多),那么我们的大脑就会判断这个图形是渐渐地停止的,所以我们会感觉十分自然....(- -+我在写物理论文嘛..?)
所以,简而言之,言而简之,就是在那段小距离把把速度变慢...(上面说了那么多废话..)
那么具体到RM,该如何实现呢?
首先,我们得先显示图片,不然皇帝老子来了也没辙..咳咳,回到正题来!(-_ -+
[以下未经说明均为默认设置,版本为RMXP,#为要说明的注释符号.图片假定为一张640*480的纯色图片]
◆显示图片:1,'××',左上, (-700,0)#1,(100%,100%),255
◆移动图片:1,@9#2,左上,(-10,0),...(后面跟上面一样,略)
#1:这是图片出现位置,我们先将他隐藏在左边了
#2:最好是比上面的帧数少,这样基本上不会出错
◆等待:7帧(让图片走到第一段距离)
◆移动图片:1,@8,左上,(0,0),....
看到这里可能会打我了,刚才你不是说在那一小段是要变慢的嘛?怎么后面的移动的帧数反而比前面的大?!
首先,表打我..其实不一定要这样做,不过我这样做的原因是:
RM里的速度是根据帧数和实际移动距离来决定的.可以做一个试验,一个从坐标(0,0)移动到(100,0)的图形在相同时间内一定比(0,0)移动到(50,0)的图形快.因为移动的时间是一定的,而距离长的当然要走快点,不然拉下了怎么办!至于为什么会这样,这是物理学里面...咳咳,我说过不是在写物理论文!
基于以上原因,所以我们得将思考一下:前面的移动可是从-700移动到-10,其速度可见是非常快的,而从-10到0的速度不见得快到哪里,如果小距离的帧数比较大的话,那会突然慢到令人发指的地步...试想一下,你在赛车场上狂奔的时候前面居然塞车...那感觉是多么不爽呀...
而取值小于上面那个帧数的话,那基本上感觉还是很妥当的,不过这还是要看具体的图片具体的距离,本心得只做抛砖引玉,不要随意模仿..后果自负...
笔者行文至此,已经是不知所云了...(我发誓没有在写物理论文%^*^%**&$&%&*$&) |
|