我一直在尝试理解使用Tiled Map Editor制作的Knight Fight等距游戏
当我打开一个新项目并加载相同的地图时,这个特殊的功能给了我不同的结果。
-(CGPoint) locationFromTilePos:(CGPoint)tilePos;
{
CCTMXLayer *grass = [self.tileMap layerNamed:@"Grass"];
CCSprite *tile = [grass tileAt:tilePos];
float x = -tile.position.x - self.tileMap.tileSize.width + 32;
float y = -tile.position.y - self.tileMap.tileSize.height;
return CGPointMake(x, y);
}
在 Knight Fight 中以 (0,0) 的形式喂食 tilePos
- 草瓦位置:(1248, 1248)
- 函数返回的最终位置:(-1280,-1280)
在我的新项目中以 (0,0) 形式输入 tilePos
- 草瓦位置:(624, 624)
- 函数返回的最终位置:(-656,-656)
我无法在 Cocos2d 上使用 Tiled 找到任何在线等距地图资源。我需要在平铺坐标和真实屏幕坐标之间进行转换。任何人都可以帮忙。