私はまた、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);
}
うん、タイルマップCOORDSはcocos2dは自動的COORDSを変換していない数少ない場所の一つです。 – LearnCocos2D
これらのコードは何ですか。私はこれらのコードを置くべきです。 – aratn0n
@ aratn0n、オブジェクトレイヤ内のオブジェクトの位置を取得します。 – Guru