gpt4 book ai didi

ios - 如何在 cocos2d-x 的等距 tilemap 中设置 vertexZ 或适当的 zorder/如何在 cocos2d-x 的等距 tilemap 中应用适当的深度管理

转载 作者:行者123 更新时间:2023-12-01 16:45:49 28 4
gpt4 key购买 nike

我在 cocos2d-x 中使用等距 tilemap,我面临的一个问题与深度管理有关。玩家 Sprite 没有正确地隐藏在放置在不同瓷砖 map 层上的树木和房屋后面。我已申请 cc_vertexz = -1000 背景 自动 房屋和环境层我正在使用以下由更新调用的方法设置顶点Z。

void HelloWorld::repositionSprite()
{
CCPoint p = playerSprite->getPosition();
p = CC_POINT_POINTS_TO_PIXELS(p);
float newZ = -(p.y+16) /16;
playerSprite->setVertexZ( newZ );

}

我还在 AppDelegate 类中启用了以下功能。

CCDirector::SharedDirector()->setDepthTest(true);
CCDirector::SharedDirector()->setProjection(kCCDirectorProjection2D);


但仍然无法获得适当的解决方案,请帮助我,让我知道我缺少什么。

最佳答案

假设平铺坐标的格式类似于 (x,y)

                         (0,0)
(1,0) (0,1)
(2,0) (1,1) (0,2)
(3,0) (2,1) (1,2) (0,3)

So on........

int a= _tileCor.x + _tileCor.y;
_playerSprite->setZorder(a);

关于ios - 如何在 cocos2d-x 的等距 tilemap 中设置 vertexZ 或适当的 zorder/如何在 cocos2d-x 的等距 tilemap 中应用适当的深度管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000379/

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