gpt4 book ai didi

android - CCTMXTiledMap 呈现在不正确的位置 - iOS、Android 和 Win32

转载 作者:行者123 更新时间:2023-11-29 12:41:55 25 4
gpt4 key购买 nike

我在 cocos2dx-2.2 上使用 CCTMXTiledMap,我创建并添加了这样的平铺 map :

// 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);

瓦片 map 创建并渲染成功,但位置不对。我使用 CCTMXTiledMap::getPosition、CCTMXLayer::positionAt,并检查我从 CCTMXLayer::tileAt 获得的 CCSprite...所有这些都基于 cocos2d 屏幕坐标 { (0, 0) 从左下角返回正确的值并向上和向右增加 } 然而,当在屏幕上查看时,总是有轻微的偏移,我不知道它来自哪里。确认所有m_obOffsetPosition为零...

通过正确的值,我的意思是图 block 位于粉红色区域(我从每个图 block 获取 Position,为每个图 block 创建 CCSprite,每个图 block 的 setPosition 并将其添加到屏幕...它们显示在粉红色区域地区)

图像应该位于阴暗的粉红色框内,但位于蓝色区域(整个蓝色海域就是整个 map )

非常感谢任何想法...谢谢!!

Image supposed to be positioned at shady pink boxes, but instead positioned in the blue area (the entire blue sea is the whole map)

最佳答案

在浪费了几天时间试图剖析 cocos2d-x 中的 tilemap_parallax_nodes 之后,我终于找出了罪魁祸首……是层属性 cc_vertexz 导致它被渲染偏离位置。我没有时间弄清楚它是如何以及为什么那样工作的,因为我无论如何也不打算使用它(我只需要平坦的单层,因此不需要 z 顺序等),所以我只是删除它我所有层的属性,问题就消失了..

希望对某人有所帮助...谢谢!

关于android - CCTMXTiledMap 呈现在不正确的位置 - iOS、Android 和 Win32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com