Object Cocos2D升级-错误的对象y坐标

Object Cocos2D升级-错误的对象y坐标,object,properties,cocos2d-iphone,coordinates,Object,Properties,Cocos2d Iphone,Coordinates,我在升级到CoCoS2D2.1时遇到了很多问题,只是一步一个脚印。我有一个问题,我正试图弄明白,这是令人困惑的:一个对象的y坐标值从tmx地图是完全错误的 在hd tmx文件中,对象使用以下属性定义: <object name="SaveStation" type="10006" x="304" y="752" width="96" height="32"/> 奇怪的是,它注销了: x=304 y=1456好吧,我想出来了 CCTMXXMLParser.m正在引用HD贴图中的平铺高

我在升级到CoCoS2D2.1时遇到了很多问题,只是一步一个脚印。我有一个问题,我正试图弄明白,这是令人困惑的:一个对象的y坐标值从tmx地图是完全错误的

在hd tmx文件中,对象使用以下属性定义:

<object name="SaveStation" type="10006" x="304" y="752" width="96" height="32"/>
奇怪的是,它注销了:

x=304


y=1456

好吧,我想出来了

CCTMXXMLParser.m正在引用HD贴图中的平铺高度值,单位为文字像素,而不是点

[code]//Y 值=[attributeDict objectForKey:@“y”]; 如果(值){ int y=[value intValue]+objectGroup.positionOffset.y

        // Correct y position. (Tiled uses Flipped, cocos2d uses Standard)
        y = (_mapSize.height * _tileSize.height) - y - [[attributeDict objectForKey:@"height"] intValue];
        [dict setObject:[NSNumber numberWithInt:y] forKey:@"y"];
    }[/code] 

_tileSize.height将返回32。因此我需要让它使用16而不是32的平铺大小。

我注意到在SD模式下,y坐标也记录为不同的值:336,而x与hd(304)保持相同。但是,SD正确显示了对象的位置。进一步检查后,它应该抓取336作为视网膜y值,但出于某种原因,它给了我1456。
        // Correct y position. (Tiled uses Flipped, cocos2d uses Standard)
        y = (_mapSize.height * _tileSize.height) - y - [[attributeDict objectForKey:@"height"] intValue];
        [dict setObject:[NSNumber numberWithInt:y] forKey:@"y"];
    }[/code]