为小地图位置重新定位

时间:2011-04-28 11:29:34

标签: c# trigonometry

我得到了一个小小的地图,我的图像尺寸为300x300,我正在显示玩家和玩家范围内的敌人。

他们有地图坐标,可以是(-1000,-1000)到(1000,1000),我想将玩家设置为中心(150,150),然后重新定位我的列表中的敌人(有一个点)在小地图内。 我在围绕如何展示敌人时遇到了一些问题。 “因素”是6,666(1000/150),我可以用这个因子划分敌人的位置吗?

它应该相对于球员位置吗?让我们说它(-1500,39)和一个敌人在(-1000,39),在他的左手边,我如何将其转换为小地图,其中X和Y的范围是0-300?

1 个答案:

答案 0 :(得分:1)

该点应相对于您的玩家定位,这将位于您的小地图的中心。因此,在你的小地图上,每个敌人将处于一个位置(因子为6.6666)

x = (xennemy-xplayer)/factor +150
y = (yennemy-yplayer)/factor +150

请注意,如果你只显示500范围内的敌人,那么他们的位置(x和y)将介于75/225之间,即不是整个可能的小地图。这是因为因子是基于整个位置范围(为0,你必须在1000的距离)

纪尧姆