2012-01-13 136 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); 
}