【发布时间】:2014-07-10 06:28:52
【问题描述】:
我在 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都被确认为零...
通过正确的值,我的意思是图块位于粉红色区域(我从每个图块中获取位置,为每个图块创建 CCSprite,设置每个图块的位置并将其添加到屏幕......它们显示在粉红色区域)
图像应该定位在阴影粉红色的盒子中,而是定位在蓝色区域(整个蓝色的大海就是整个地图)
任何想法都非常感谢......谢谢!
【问题讨论】:
-
截图应该传达什么?看起来像一个 3x3 iso 贴图,带有随机叠加的绿色和粉色精灵。请问这里到底是什么问题,能不能详细描述一下?
-
这是一张4x4的地图,我把地图改一下更清楚
标签: android ios cocos2d-x tiled