赞 | 0 |
VIP | 0 |
好人卡 | 1 |
积分 | 1 |
经验 | 167035 |
最后登录 | 2013-9-15 |
在线时间 | 57 小时 |
Lv1.梦旅人 风之塞尔达
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 57 小时
- 注册时间
- 2005-10-22
- 帖子
- 2492
|
本帖最后由 link006007 于 2009-10-15 01:09 编辑
RGE就在这个版块里面。。。。。。。。。。。。
其实这种tile平铺地图的开源游戏多的是。
比如mana world, 你如果有兴趣把他封装成一个ruby的内嵌类,
差不多就是一个带网络C/S功能的RM(当然当当了解那些SDL的函数就会吐血)
至于tile的描绘,算法本身就不唯一:可以
把该地图的图块元件载入缓存,不管你地图多大,他的内存大小始终都是图块元件的总和
只有在你需要改变某个元件的内容时,这时候看你的引擎如何处理了,大多数是为此元件专门创建一个副本
然后维护至少一个tile数组,每个元素都保存对应图块的缓存地址,显示优先级,通行情况等等信息
然后通过地图的偏移(RM里好像是ox,oy)索引到当前描绘tile数组的起始位置,以固定的行长度从数组里获取n列的tile信息。图像都是实时的贴到屏幕的(单纯的拷贝是很快的)
其实如果一个图块没有实时刷新,可以想象结果:上一帧如果有精灵在上面描绘过,那么下一帧如果不刷新(重新贴图块),那么那个精灵的图像就会留在上面.
至于RM本身如何处理,这个只有开发人员自己知道。 |
|