我正在使用cocos2d-x中的等距tilemap,我面临的一个问题与深度管理有关。玩家精灵没有正确地隐藏在放置在不同图块地图上的树木和房屋后面。我已将 cc_vertexz = -1000 应用于背景,自动应用于住宅和环境层,我正在设置vertexZ使用下面的方法,由update调用。
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(真); CCDirector :: SharedDirector() - > setProjection(kCCDirectorProjection2D);
但仍然无法获得适当的解决方案,请帮助我,让我知道我错过了什么。
答案 0 :(得分:0)
假设平铺坐标的格式类似于(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);