网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月14日
漏签
0
天
godot吧
关注:
5,550
贴子:
28,382
看贴
图片
吧主推荐
游戏
9
回复贴,共
1
页
<<返回godot吧
>0< 加载中...
求助
动态加载地图怎么搓
只看楼主
收藏
回复
贴吧用户_7bSRK7D
godot
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
那种大地图,人物走到哪加载到哪的啊,得怎么搓,老哥们
向日葵sf
数学算法
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
划分区域,根据位置在哪个区域,加载周围区域
他爹和老爸
物理系统
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
第一步:将tilemap划分为一个个的小块,比如50*50是一个地块,然后按照角色为中心向外扩展,比如生成以人物所在地块为中心的9*9个地块,动态加载需要两个坐标,一个是地块坐标就是这个9*9的坐标是多少,然后是一个局部坐标,就是50*50为一个地块,你需要生成的小tile在地区的局部坐标,有这两个坐标可以计算出世界坐标,举个例子,地块坐标是(1,1),tile坐标是(23,14),世界坐标就是(1*50+23,1*50+14),得出世界坐标就可以用tilemap.set_cell()来生成tile了
第二步,在_process()中实时计算人物所在位置所占据的地块,然后计算出需要生成那些地块,这一步相当于是第一步反着来,将人物的世界坐标转化为地块坐标,就是人物坐标/(50,50),得到人物是在那个区块上,假如是(5,5),那么接下来就是生成以(5,5)为中心的9*9个地块
第三步,将已经生成的超出9*9个地块之外的地块中的所有tile删除
第四步,注意地块包含的tile不要太多,要不会有明显卡顿,尽量控制在50以内,或者用多线程来处理
第五步,祝你成功,我的朋友
临天下
国际化
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
有插件 直接看代码 github
晓美焰
动画特效
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
大概这样吧,还没写完,不会再godot中用高度图生成地图,平地的地板应该可以
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示