易码技术论坛

 找回密码
 加入易码
搜索
查看: 221467|回复: 17

[求助]RPG里的图像滚屏方法

[复制链接]
发表于 2005-5-1 22:22:00 | 显示全部楼层
什么样的图像滚屏?
有的是直接操作显存,有的是对下一坐标地图进行读取然后再绘制。
 楼主| 发表于 2005-5-3 23:02:00 | 显示全部楼层
就是人物移动的地图滚屏,请大侠教教我,小弟先谢了
发表于 2005-5-5 09:48:00 | 显示全部楼层
XDraw!!!!!!!!!!!相对比较方便
把事情交给解释器更方便更快哈哈
 楼主| 发表于 2005-5-5 11:42:00 | 显示全部楼层
那只能横滚,上下滚咋办
发表于 2005-5-5 15:25:00 | 显示全部楼层
上下的话,用GetBlock截取屏幕然后再帖啊。
发表于 2005-5-5 15:35:00 | 显示全部楼层
LavaX的XDraw已经支持4方向滚屏
XDraw原型 void Xdraw(int mode); 功能 全屏特效 说明 mode=0:缓冲区的图形全体左移一个点。
      mode=1:缓冲区的图形全体右移一个点。
      mode=2:缓冲区的图形全体上移一个点。
      mode=3:缓冲区的图形全体下移一个点。
      mode=4:缓冲区的图形左右反转。
      mode=5:缓冲区的图形上下反转。
      mode=6:屏幕图形保存到缓冲区。
发表于 2005-5-5 15:37:00 | 显示全部楼层
以下是引用FantasyDR在2005-5-5 15:25:28的发言:
上下的话,用GetBlock截取屏幕然后再帖啊。


不小心看到这句话~~深受启发[em01]
 楼主| 发表于 2005-5-6 12:30:00 | 显示全部楼层
那请问用XDraw如何实现左右滚屏呢?
发表于 2005-5-6 14:15:00 | 显示全部楼层
建议都用GetBlock实现。这样代码可以统一……
XDraw一次只能一象素。滚屏建议2到4象素单位。
 楼主| 发表于 2005-5-6 23:06:00 | 显示全部楼层
可是我发现滚屏的时候会闪烁
后来研究了研究是在滚屏的第一帧图像时闪烁的,我做了一个160*80的图片显示在屏幕上,然后在横坐标161纵坐标0处又显示了一个16*80的图片,相当于滚屏时的补屏图像,可是就这么个小程序运行后,满屏幕都是乱码,我估计滚屏的原因就在这里,可是按理论说不应该啊,我才超出屏幕绘图16象素,怎么会出现乱码呢?请高手解答
发表于 2005-5-7 18:06:00 | 显示全部楼层
以下是引用FantasyDR在2005-5-6 14:15:35的发言:

建议都用GetBlock实现。这样代码可以统一……

XDraw一次只能一象素。滚屏建议2到4象素单位。


那请问哪个速度比较快?
 楼主| 发表于 2005-5-7 22:37:00 | 显示全部楼层
我还是比较支持GetBlock实现滚屏
就是不会用
发表于 2005-5-15 19:14:00 | 显示全部楼层
这样不能做动态的RPG
 楼主| 发表于 2005-5-15 20:14:00 | 显示全部楼层
怎么不能做,我的问题都解决了
发表于 2005-5-18 23:05:00 | 显示全部楼层
上下移屏 用memcpy和memmove就性
memcpy是将数据从头到尾一个一个移动,方向正
memmove是将数据从尾到头一个一个移动,方向反
 楼主| 发表于 2005-5-22 17:36:00 | 显示全部楼层
哦?奇妙的方法?具体怎么办呢?请斑竹明示
发表于 2005-5-23 16:43:00 | 显示全部楼层
不建议直接操作显存_GRAPH和_GBUF,LavaX3.1规范已经丢弃这些不适应跨平台要求的接口。
 楼主| 发表于 2005-5-1 12:17:05 | 显示全部楼层 |阅读模式
求助大家,如何实现RPG里的图像滚屏?请高手门讲的详细些,别叫我去看代码,谢谢了
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-5-6 14:18 , Processed in 0.023328 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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