当我转换为视网膜显示时,瓷砖地图的错误位置

为了视网膜显示转换瓷砖地图的指南,也把宽度和高度的大小变更为对象的大小和位置的2倍。 但正常显示的结果与视网膜显示正常显示不正确,但视网膜显示不正确

这是非视网膜瓷砖地图 在这里输入图像说明

这是视网膜瓷砖地图 在这里输入图像说明

我也添加-hd后缀视网膜.tmx文件

有什么不对?

我也观察到与cocos2D瓷砖地图相同的问题,最后通过分割CC_CONTENT_SCALE_FACTOR解决。 在视网膜模式下,它给2.0。

CCTMXObjectGroup *objects = [tileMap objectGroupNamed:NN_TILE_MAP_OBJECT_LAYER]; CGSize s = [[CCDirector sharedDirector] winSize]; NSMutableDictionary *newtonPos = [objects objectNamed:NN_NEWTON_POS]; if(newtonPos) { float x = ([[newtonPos valueForKey:@"x"] floatValue])/CC_CONTENT_SCALE_FACTOR(); float y = [[newtonPos valueForKey:@"y"] floatValue]/CC_CONTENT_SCALE_FACTOR(); MyGameScreen *p = (MyGameScreen*)self.parentLayer; p.gameActor.position = ccp(x, y); } 

//我用这个函数来获得和弦

 - (CGPoint)getTileCoordForPosition:(CGPoint)position { int maxTileCol = self.mapSize.height; int x = ( (position.x-self.position.x)/TILE_SIZE); int y = maxTileCol - ( ((position.y)-self.position.y)/TILE_SIZE); if( x >= TILE_IN_ROW) x = TILE_IN_ROW - 1; if( y >= TILE_IN_COL) y = TILE_IN_COL - 1; return ccp(x, y); }