游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5393|回复: 16

要连贯地载入地图该怎么做?

[复制链接]

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2007-11-12 16:12:00 | 显示全部楼层 |阅读模式
大概就是那种无缝的,边走边载入那种。我做这方面的东西的时候觉得好困难,比如还要处理人物在两张图上的位置,那不是要同时打开好多地图啦??

当初写代码的时候没有考虑太多以后要扩展的东西,现在要加入一点点东西要修改很多地方,很困难。
以前也没写太多注释,过了半年果然生疏了,惨啊。下载了我的代码的人肯定也是一脸茫然的。

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2007-11-12 17:11:00 | 显示全部楼层

Re:要连贯地载入地图该怎么做?

VB6?多线程就不要想了,VB6下使用Win32多线程API,问题也很多,基本上不能用,最简单的办法就是开一个只执行一次的Timer,在Timer里加载。

9

主题

86

帖子

86

积分

注册会员

Rank: 2

积分
86
发表于 2007-11-12 18:33:00 | 显示全部楼层

Re:要连贯地载入地图该怎么做?

所谓无缝指的是地图拼接时,玩家没有明显的滞后和停顿感
最简单的做法是做一个大的缓冲区.当玩家的视野到达缓冲区边界时,就会刷新缓冲区(读入下一段的地图数据),同时设置好玩家在缓冲区的坐标.然后刷新页面就可以了..
缓冲区的大小可以自己设定..我感觉是视野的4倍就可以了..
关键是缓冲区的大小设定对性能影响较大.如果大了.就会占用更大的内存(刷新也需要更多的时间)
如果小了,就会需要频繁刷新缓冲区(如果玩家视野还在缓冲区,就不用刷新了).
反正自己去找平衡吧
呵呵

61

主题

1429

帖子

1430

积分

金牌会员

Rank: 6Rank: 6

积分
1430
发表于 2007-11-13 10:51:00 | 显示全部楼层

Re: 要连贯地载入地图该怎么做?

Miu.C: 要连贯地载入地图该怎么做?

大概就是那种无缝的,边走边载入那种。我做这方面的东西的时候觉得好困难,比如还要处理人物在两张图上的位...


你的口袋游戏不就是连贯载入吗? 连控件也不用。

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
 楼主| 发表于 2007-11-13 12:37:00 | 显示全部楼层

Re:要连贯地载入地图该怎么做?

没错,VB6的确太落后了,正确的代码调用多线程都会死。

缓冲....好复杂,我再尝试一下,我原先也就缓冲超出屏幕1,2格,嗯,问题是两个地图文件的连接.....

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2007-11-13 15:03:00 | 显示全部楼层

Re:要连贯地载入地图该怎么做?

VB6无法实现多线程,想连贯载入,Timer似乎是唯一的选择,但由于载入地图是很耗费资源的工作,想无缝首先要保证CPU和内存资源相对你游戏程序的占用要绰绰有余,这是做到“无缝”的前提。

在程序设计上则必然涉及到3楼所说的缓冲,缓冲方法1、2格不太好,不但实现最复杂,载入也太频繁,地图文件的大小至少应4倍于显示区域,甚至在内存资源允许的条件下,可将每块地图文件大小定义为9倍显示区域。

87

主题

790

帖子

806

积分

高级会员

Rank: 4

积分
806
QQ
发表于 2007-11-13 16:09:00 | 显示全部楼层

Re:要连贯地载入地图该怎么做?

我觉得可以把所有地图都先载入,然后根据当前屏幕在整个大地图的位置决定贴哪些图,即从相应的图中取下一部分贴在屏幕的相应位置(最多要取四张图的一部分)

88

主题

1125

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
QQ
发表于 2007-11-13 17:58:00 | 显示全部楼层

Re:要连贯地载入地图该怎么做?

以内存为代价做性能优化.

61

主题

1429

帖子

1430

积分

金牌会员

Rank: 6Rank: 6

积分
1430
发表于 2007-11-14 08:12:00 | 显示全部楼层

Re: Re:要连贯地载入地图该怎么做?

Miu.C: Re:要连贯地载入地图该怎么做?

没错,VB6的确太落后了,正确的代码调用多线程都会死。

缓冲....好复杂,我再尝试一下,我原先也就缓冲超出屏幕1,2格,嗯,问题是两个地图文件的连接.....

]

既然你不用VB,来VB区做什么?

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2007-11-14 09:10:00 | 显示全部楼层

Re:要连贯地载入地图该怎么做?

地图比较小时当然最好把所有地图都先载入,但对大型RPG的地图内存吃不消
VB6实现起来确实不那么令人舒服,不过对于VB.Net来说就是小菜一碟了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-16 22:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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