1

cocos2dx-2.2 で CCTMXTiledMap を使用しています。次のようなタイル マップを作成して追加しました。

// TileMap
CCTMXTiledMap *m_pTileMap = CCTMXTiledMap::create("tilesets/my-isometric-small.tmx");
float fPosX = m_pTileMap->getPositionX();
float fPosY = m_pTileMap->getPositionY();
CCLOG( "TileMapPos: %f, %f", fPosX, fPosY );
this->addChild(m_pTileMap);

タイル マップは正常に作成およびレンダリングされますが、位置がずれています。私は CCTMXTiledMap::getPosition、CCTMXLayer::positionAt を使用し、CCTMXLayer::tileAt から取得した CCSprite も調べます...それらはすべて cocos2d 画面座標 { (0, 0) に基づいて左下から正しい値を返しています} しかし、画面で見ると常にわずかなずれがあり、どこから来たのかわかりません。すべての m_obOffsetPosition がゼロであることが確認されています...

正しい値とは、タイルがピンク色の領域に配置されていることを意味します (各タイルから getPosition を作成し、それぞれに CCSprite を作成し、各タイルの setPosition を画面に追加します...それらはピンク色の領域に表示されます)

影のあるピンク色のボックスに配置されるはずの画像が、代わりに青い領域に配置されています (青い海全体がマップ全体です)

どんなアイデアでも大歓迎です...ありがとう!!

影のあるピンク色のボックスに配置されるはずの画像が、代わりに青い領域に配置されています (青い海全体がマップ全体です)

4

1 に答える 1