我有一个用画布和 EaselJS 生成的 2d 等距地图。
对于每个图块和玩家,我都有 x 和 y 坐标。
你可以在这里看到我的地图原型:http://8*8.1*9*1.1*6*1.2*35/moteur_iso/
REMOVE *(玩家右侧的瓷砖是“不可行走的”。
我想将画布放在播放器的中心。我该怎么做?
有很多方法可以做到这一点,一种方法是将玩家的等距位置转换为笛卡尔位置(以像素为单位),然后更新地图的注册点,例如:
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。无论他的初始位置如何,玩家都将居中。