Object Cocos2D升级-错误的对象y坐标
我在升级到CoCoS2D2.1时遇到了很多问题,只是一步一个脚印。我有一个问题,我正试图弄明白,这是令人困惑的:一个对象的y坐标值从tmx地图是完全错误的 在hd tmx文件中,对象使用以下属性定义: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贴图中的平铺高
<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]