我决定使用 c++ 和 cocos2d-x 制作一个等距游戏。每个等距图块都有一个 X 和一个 Y 坐标,每移动一个图块就增加 1。这就是我将平铺转换为屏幕坐标的方式。
cocos2d::CCPoint WorldPos::convertToScreen(){
cocos2d::CCPoint posScreen;;
posScreen.x=(this->x)*(TILE_WIDTH/2) + (this->y)*-TILE_HEIGHT;
posScreen.y=(this->x)*(TILE_HEIGHT/2) + (this->y)*(TILE_HEIGHT/2);
return posScreen;
}
瓷砖都是 40 像素宽和 20 像素高。
现在我需要一个函数将这些世界坐标(等轴坐标)转换回屏幕坐标。就像是
WorldPos* WorldPos::convertToWorld(cocos2d::CCPoint &point)
我似乎无法弄清楚这一点,我做错了,我应该做定位是一种不同的方式还是有某种我无法弄清楚的计算?