易码技术论坛

 找回密码
 加入易码
搜索
查看: 475108|回复: 29

RPG的高手们,能帮我吗?

[复制链接]
发表于 2004-9-25 11:47:00 | 显示全部楼层
能帮我吗?谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
发表于 2004-9-25 12:22:00 | 显示全部楼层
地图太大。256*256不能一次载入内存的。Lava内存只有20kb。这20kb如果你想做招式动画,至少有2.4kb是用做缓存的。然后还有其他常用的block图素,地图能分出10kb就不错了。
而且,这么大的地图,一次也显示不了,还得分开载入,不如做成小地图,到时候走到哪里就读取哪里的地图。
发表于 2004-9-25 18:51:00 | 显示全部楼层
老F说的对,就做一个大地图,人物在地图上走到某个指定点后,按输入键,开始载入这一区域的具体地图,每个区域的地图可以分开来放在几个dat文件中,这样可以有效避免内存溢出,也节省了读取速度。
 楼主| 发表于 2004-9-25 20:14:00 | 显示全部楼层
地图读取是一边从文件读 一边显示出来
发表于 2004-9-25 22:18:00 | 显示全部楼层
这样会很慢。读取文件是比较耗时的一个步骤。
发表于 2004-9-25 22:31:00 | 显示全部楼层
只好在屏幕中间写一行  "Loading...."
 楼主| 发表于 2004-9-25 22:48:00 | 显示全部楼层
速度啊........
是这样的:比如人物向右移动了1格
程序会保留原来的9x5的地图,然后从文件中读取5个字节(向右移动一格的新的地图),再组合成16x80的图片,与原图片(要刷新到屏幕上的地图图片)衔接,再与人物图片组合,然后刷新到屏幕上
上面这个步骤速度会怎么样呢?
发表于 2004-9-25 22:49:00 | 显示全部楼层
估计会有0.3秒的停顿
 楼主| 发表于 2004-9-25 23:14:00 | 显示全部楼层
0.3秒啊,好行能行吧.......

地图编辑器我做出来了,先抽空遍遍地图~~~

因为理论更新老多遍了,主程序没有一次写完.......

地图编辑器具什么的都集成在sourcemgr.lav里面,我自己感觉编的8错呀

希望有人能评价一下!

[attachment:84]

[此贴子已经被作者于2004-9-25 23:17:37编辑过]

发表于 2004-9-25 23:18:00 | 显示全部楼层
你说的那个局部刷屏的方法不错,神州的点移也是差不多的理论。
但是如果这5个字节也是读取自文件,那么还是有些停顿的,在Nc2k的机子上。要是3k以上的机子,那么可以不必考虑这个停顿。
RPG关键是要有好的脚本系统,这样才能作出复杂的剧情,地图如果可以,做成双层的,这样可以实现一些立体效果。
发表于 2004-9-25 23:26:00 | 显示全部楼层
我说的0.3秒是以我的TC1000来看的。双层的....楼主可以大胆尝试一下
发表于 2004-9-25 23:29:00 | 显示全部楼层
Tc的要不了0.3秒,Tc很快的。大概Nc全屏可以达到10~15 Fps。TC至少是2~3倍吧?
发表于 2004-9-25 23:35:00 | 显示全部楼层
不过0.3秒也不算很明显,一不注意就过去了
发表于 2004-9-26 10:44:00 | 显示全部楼层
0.3秒是很长的时间,如果一个游戏循环里面能延迟0.3秒,那么最多 3 FPS。
你知道PC上面的游戏,如果流畅运行,标准是60FPS……文曲星上面至少也要5~10FPS才玩的舒服啊。
 楼主| 发表于 2004-9-26 11:26:00 | 显示全部楼层
哦,我哪个sourcemgr 因为有停顿是进行了如下步骤:
for(_y=0;_y<5;_y++)
   {
    for(_x=0;_x<10;_x++)
    {
     fseek(fp,_mapblock+m_id*8192+map[_y*10+_x]*32,0);
     fread(temp,1,32,fp);
     WriteBlock(_x*16,_y*16,16,16,0,temp);
    }
   }
在wqx上大约0.3秒
如果是
for(_y=0;_y<5;_y++)
   {
     fseek(fp,_mapblock+m_id*8192+map[_y*10]*32,0);
     fread(temp,1,32,fp);
     WriteBlock(_x*16,_y*16,16,16,0,temp);
   }
速度应该更快
 楼主| 发表于 2004-9-26 11:27:00 | 显示全部楼层
这样子吧: 把地图用的图片读到内存中,这就能提高些速度了
 楼主| 发表于 2004-9-26 11:42:00 | 显示全部楼层
地图的图片最大也就8K(在总共有256种block的时候)

那个地图确实可以达到仿3D的效果,就是几张block组合成一件东西,比如一堵墙



[此贴子已经被作者于2004-9-26 11:43:58编辑过]

 楼主| 发表于 2004-9-26 13:49:00 | 显示全部楼层
我用这个做的地图~我想如果将block图片放到内存中会很快的吧!

[attachment:87]

这个就是把block放到memory里的效果( 在wqx上看)跟最开始哪个速度快了1倍


[此贴子已经被作者于2004-9-26 14:06:36编辑过]

发表于 2004-9-26 14:34:00 | 显示全部楼层
是的。直接从内存读取要快一些~
 楼主| 发表于 2004-9-26 14:43:00 | 显示全部楼层
我发的哪个资源编辑器有bug,这个没大错误了,Fantasy想看的话看一下吧~

[attachment:88]

[此贴子已经被作者于2004-9-26 14:45:24编辑过]

您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2024-4-19 23:15 , Processed in 0.014416 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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