Cocos2d iphone cocos2dv3.x。使用TileMaps时,似乎不可能进行自动Z排序

Cocos2d iphone cocos2dv3.x。使用TileMaps时,似乎不可能进行自动Z排序,cocos2d-iphone,tiled,Cocos2d Iphone,Tiled,使用CoCoS2D2.x创建基于等轴测tilemap的游戏时,自动Z排序不是问题 我们只需读取每个层的平铺的vertexZ/zOrder值(作为CCSprites)并相应地更新节点 现在我使用Cocos2d的v3.3 CCTMXTiledMaps已替换为CCTiledMaps CCTMXLayers将替换为CCTiledMapLayers 在3.0+版本中,我们不能将单个磁贴视为CCSprite,因此磁贴本身没有zOrder或vertexZ属性。 这使得我不可能知道我应该更新我的移动角色到哪一个

使用CoCoS2D2.x创建基于等轴测tilemap的游戏时,自动Z排序不是问题

我们只需读取每个层的平铺的vertexZ/zOrder值(作为
CCSprites
)并相应地更新节点

现在我使用Cocos2d的v3.3

CCTMXTiledMaps
已替换为
CCTiledMaps

CCTMXLayers
将替换为
CCTiledMapLayers

在3.0+版本中,我们不能将单个磁贴视为
CCSprite
,因此磁贴本身没有zOrder或vertexZ属性。 这使得我不可能知道我应该更新我的移动角色到哪一个zOrder,以便它们能够真实地呈现


是否可以使用平铺贴图和移动对象以某种方式进行自动排序?使用cocos2dv3+应该如何实现呢?

似乎属性仍然可以用于set/get。这里是参考,在这里找到“getVertexZ”:这不是问题所在。由于我的平铺未被视为精灵,因此我无法访问它们的vertexZ属性。因此,即使我可以设置角色的vertexZ优先级,我也不知道合适的值vertexZ在使用新的渲染引擎时成为v3.x中的私有属性。您可以尝试导入CCNode_Private.h也可以查看此链接以了解更多信息编辑:筛选CCTiledMapLayer类如果发现名为
cc_vertexz
的属性具有值automatic,则可能会使用vertexz渲染分幅。因此,在平铺应用程序的层属性中添加一个名为
cc_vertexz
的属性,该属性具有
automatic
。如果这个解决方案行得通,我会升级这个作为答案。我也尝试过这个。当cc_vertexz设置为自动时,V3.3不会正确渲染贴图。在cctiledmaplayer观察平铺属性的位置设置断点后,甚至不考虑cc_顶点