幻想森林

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

[心得]发个显示图片的小技巧,事件实现

[复制链接]

218

主题

1万

帖子

10万

积分

⑧专业

赋予你第五自由

积分
108021
发表于 2006-1-4 18:01:35 | 显示全部楼层 |阅读模式
在很多游戏里面,我们都会见过这样的图片显示方法:
图片以一定速度向某方向移动,若干时间后速度变换(通常是变慢了),在视觉上造成一种缓冲的效果(就像一辆车刹车时候那样).这样的效果给人的感觉是自然,活泼.因为图片移动速度是一成不变的话,就会给人的感觉很僵硬了.
在这里我想分享一下自己做这样效果的思路,不知道还有没有更加简单的方法,不过算是值得参考一下吧..?(^ ^;)

首先呢,我又来举个抽象的流程图....(-。-||)

在上图中,我们得努力想象成那个圆圈圈(- -想不到也没关系..)是你要消失的图形...

以向右运动为例子,图形首先是向右运动一段距离,接着再来运动一段小距离运动,那这个效果的基本"骨干"就出来了.
可是这个缓冲效果究竟是怎么制作出来的呢?如果只是按照上面所说的倒不如图形从最初位置一直移动到最终位置?

奥妙就在后面的那一段小距离中=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的速度不见得快到哪里,如果小距离的帧数比较大的话,那会突然慢到令人发指的地步...试想一下,你在赛车场上狂奔的时候前面居然塞车...那感觉是多么不爽呀...
而取值小于上面那个帧数的话,那基本上感觉还是很妥当的,不过这还是要看具体的图片具体的距离,本心得只做抛砖引玉,不要随意模仿..后果自负...

笔者行文至此,已经是不知所云了...(我发誓没有在写物理论文%^*^%**&$&%&*$&)

第 五 自 由 -   5th  Freedom   -

回复

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-1-4 18:20:18 | 显示全部楼层
也可以用这个来做重力加速度效果,反弹效果之类的...
orz...说起来玩FLASH的时候搞过很多怪...= =
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

218

主题

1万

帖子

10万

积分

⑧专业

赋予你第五自由

积分
108021
 楼主| 发表于 2006-1-4 18:21:41 | 显示全部楼层
下面是引用CountD于2006-01-04 18:20发表的:
也可以用这个来做重力加速度效果,反弹效果之类的...
orz...说起来玩FLASH的时候搞过很多怪...= =
....orz...RM成物理实验室了..

第 五 自 由 -   5th  Freedom   -

回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2006-1-4 18:41:17 | 显示全部楼层
很多系统本来就是把现实中的物理现象模型化嘛……
比如说碰撞之类的。
说起来,粒子系统也是吧。= =
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

218

主题

1万

帖子

10万

积分

⑧专业

赋予你第五自由

积分
108021
 楼主| 发表于 2006-1-4 18:56:21 | 显示全部楼层
那肯定是啦...

第 五 自 由 -   5th  Freedom   -

回复 支持 反对

使用道具 举报

1

主题

5

帖子

18

积分

②入门

积分
18
QQ
发表于 2006-1-4 22:04:15 | 显示全部楼层
顶……
从小有个愿望就是能自己编个游戏!
回复 支持 反对

使用道具 举报

218

主题

1万

帖子

10万

积分

⑧专业

赋予你第五自由

积分
108021
 楼主| 发表于 2006-1-4 22:27:10 | 显示全部楼层
喂喂!回帖也要有技术含量哦!>_<

第 五 自 由 -   5th  Freedom   -

回复 支持 反对

使用道具 举报

22

主题

516

帖子

7万

积分

⑧专业

被称为盗头王的ACE

积分
76085
QQ
发表于 2006-1-5 03:41:07 | 显示全部楼层
天天这个有技术含量.......
回帖也要有?顶不行吗?
非要说那么^^
如果能想到缓冲....那么自然也能想到反弹,也就是说可以在2次减速结束后,图片再逆向移动一下然后再移动回来,灵活用这方法这样就能出现像一个橡皮自由落体与硬物之上一样~
正太大好..........
阿瓦隆……失去一切的梦想之乡……终极防护
回复 支持 反对

使用道具 举报

6

主题

233

帖子

2万

积分

⑧专业

天马行空的黑骑士!!

积分
26991
QQ
发表于 2006-1-5 08:25:59 | 显示全部楼层
我现在制作当中的游戏也是用这方法来显示出招时的人物头像动画……
惭愧的……没能想到要与大家分享……
自打20大板~~~
不高兴的高兴!!!
回复 支持 反对

使用道具 举报

218

主题

1万

帖子

10万

积分

⑧专业

赋予你第五自由

积分
108021
 楼主| 发表于 2006-1-5 12:32:13 | 显示全部楼层
下面是引用红色流星于2006-01-05 03:41发表的:
如果能想到缓冲....那么自然也能想到反弹,也就是说可以在2次减速结束后,图片再逆向移动一下然后再移动回来,灵活用这方法这样就能出现像一个橡皮自由落体与硬物之上一样~
那当然,也只不过速度的不同所产生比较出来的错觉...说得夸张一点做物理引擎都行,不过RM的图片基本用事件是做不了碰撞判断的..所以用事件做横版比做自战难上10倍..

第 五 自 由 -   5th  Freedom   -

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-1 13:37 , Processed in 0.023742 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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