我有一个用画布和EaselJS生成的二维等距地图。
对于每个磁贴和播放器,我都有x和y坐标。
你可以在这里看到我的地图原型:http://8*8.1*9*1.1*6*1.2*35/moteur_iso/
REMOVE *(播放器右侧的瓷砖尖端是“非步行”。
我想把canva放在玩家的中心..我怎么能这样做?
答案 0 :(得分: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。 无论初始位置如何,玩家都会居中。