|

楼主 |
发表于 2010-3-16 14:46:00
|
显示全部楼层
Re: Re: cegui圆形地图
cqw_1022: Re: cegui圆形地图
额,你搞的是2D的东西?2D的画也不会出现1024×1024的情况的啊。。。。事先准备好大地图数据和小地图数...
我是3d的,以下是我计算小地图显示区间方法:
将玩家当前所在的位置对应到地图纹理的像素点上
假设我们地图的大小是MAP_WIDTH*MAP_HEIGTH, 玩家位置是playerPos.x, playerPos.z(vector3类型的)
那么他在地图纹理上的中对应的位置是playerPos.x/MAP_WIDTH*pImgSet->getWidth(), playerPos.z/MAP_HEIGTH*pImgSet->getHeight();
公式是: 玩家位置/地图大小*纹理的大小
说明: 玩家位置/地图大小就是玩家所在的地图位置中的比例, 再乘以纹理的大小就转到了纹理中的位置.
我的地形是500*500的3d地形。如果图片太小了,整个小地图窗口就差不多将全地图都显示出来了了 所以图片要大点
|
|