5
我遵循指导,通过改变宽度和高度的大小来改变对象的大小和位置,从而将视图显示转换为瓷砖地图。 但正常显示该结果是不相同的视网膜显示正常的显示是正确的,但视网膜显示不正确当我转换为视网膜显示时,瓷砖地图的错误位置
这是不可视网膜瓷砖地图
,这是视网膜瓷砖地图
我还为视网膜.tmx文件添加了-hd后缀
有什么问题吗?
我遵循指导,通过改变宽度和高度的大小来改变对象的大小和位置,从而将视图显示转换为瓷砖地图。 但正常显示该结果是不相同的视网膜显示正常的显示是正确的,但视网膜显示不正确当我转换为视网膜显示时,瓷砖地图的错误位置
这是不可视网膜瓷砖地图
,这是视网膜瓷砖地图
我还为视网膜.tmx文件添加了-hd后缀
有什么问题吗?
我也观察到与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);
}
烨,tilemap的坐标为,少数地方的cocos2d不会自动转换COORDS之一。 – LearnCocos2D
这些代码是什么。我应该把这些代码放在哪里。 – aratn0n
@ aratn0n,获取对象层中对象的位置。 – Guru