0

我有一个用画布和 EaselJS 生成的 2d 等距地图。

对于每个图块和玩家,我都有 x 和 y 坐标。

你可以在这里看到我的地图原型:http://8*8.1*9*1.1*6*1.2*35/moteur_iso/REMOVE *(玩家右侧的瓷砖是“不可行走的”。

我想将画布放在播放器的中心。我该怎么做?

4

1 回答 1

0

有很多方法可以做到这一点,一种方法是将玩家的等距位置转换为笛卡尔位置(以像素为单位),然后更新地图的注册点,例如:

myMap.regX -= (myMap.player.posX - myMap.player.posY) * myMap.tilesHeight;
myMap.regY += (myMap.player.posX + myMap.player.posY) * myMap.tilesHeight/2;

如果玩家的位置是 x = 1 和 y = 0,它会将地图向右移动 42px 并向上移动 21px。无论他的初始位置如何,玩家都将居中。

于 2013-06-10T16:07:28.797 回答