2012-01-13 66 views
2

我创建了两个不同的tilemap用于简单显示和视网膜显示。 简单的显示器碰撞检测是正确的。当我在视网膜显示地图显示上正确测试它时,碰撞检测不合适。cocos2d中的视网膜显示地图碰撞检测iphone

任何人都可以帮助我。

+0

您可能会遇到同样的问题,我认为。请[检查链接](http://stackoverflow.com/questions/8710268/box2d-custom-polygon-and-sprites-mis-matching)是否有帮助。 – Marine 2012-01-13 08:39:12

回答

0

在这里我检查使用此功能的碰撞,然后它在两个显示器上运行良好。

- (CGPoint)tileCoordForPosition:(CGPoint)position 
{ 
    CGFloat scale = [[UIScreen mainScreen] scale]; 
    NSLog(@"%f",map1.tileSize.height); 
    int y = ((map1.mapSize.height * map1.tileSize.height) - position.y*scale)/map1.tileSize.height+(map1.position.y *scale/map1.tileSize.height); 
    int x =-((map1.position.x *scale)/map1.tileSize.width)+(MainCharacter.position.x*scale/map1.tileSize.width); 
    return ccp(x, y); 
}