使用cocos2d-x滚动大瓷砖地图会在应该有绿色瓷砖的地方给我黑色瓷砖



我正在加载使用平铺软件创建的400x400平铺图。一个瓦片是120个像素,总共4800x48000个像素。

我像这个一样加载

    regionMap->initWithTMXFile("background2.tmx");
    mapLayer->addChild(regionMap, 0, enTagTileMap);
    mapLayer->setAnchorPoint(CCPoint(0,1));

然后我像这样滚动。

    mapLayer->setPosition(position);

当我垂直滚动到这个位置时,我不再从地图上得到瓷砖,我只得到黑色瓷砖。

    x=0 , y=5483.748535

当我水平滚动时,即使到达这个位置,我也不会遇到同样的问题。

    x=-48000, y=400

谢谢你的预付款。

我认为可以公平地假设cocos2d-x的tilemap渲染器是cocos2d-iphone中渲染器的直接端口。如果为true,则它们都具有相同的限制,即最多可以显示65536个顶点(16384个瓦片)(不包括空瓦片)。

假设只有一层并且没有任何"空"瓷砖(空==GID值为0的瓷砖位置),则瓷砖贴图为400x400=160000个瓷砖。这意味着cocos2d将/可以渲染的瓦片数量大约是它的十倍。

Cocos2d将只渲染16384个瓦片,然后停止,剩余的瓦片将不会渲染,因此您将看到背景颜色(默认值:黑色)。

一个常见但尴尬的解决方法是将映射拆分为几个TMX文件,并在代码中对齐它们。

相关内容

  • 没有找到相关文章

最新更新