等角タイル座標を画面座標に変換しようとしています。特に Y 座標に問題があるようです。X 部分は問題なく動作しているようです。これが私がこれまでに得たものです。
// calculate screen coordinates from tile coordinates
- (CGPoint)positionForTileCoord:(CGPoint)pos {
float halfMapWidth = _tileMap.mapSize.width*0.5;
float mapHeight = _tileMap.mapSize.height;
float tileWidth = _tileMap.tileSize.width;
float tileHeight = _tileMap.tileSize.height;
int x = halfMapWidth*tileWidth + tileWidth*pos.x*0.5-tileWidth*pos.y*0.5;
int y = ............
return ccp(x, y);
私のプレーヤーはタイルマップ自体に子として追加され、マップは0.5のアンカーポイントでscreenSize.x/2、scrrensize.y/2のレイヤーに追加されます
私は直交マップで同じことを成功させましたが、等角図では苦労しているようです。
ありがとうございました