Libgdx平铺了瓷砖之间的间隙

时间:2015-09-05 19:46:40

标签: libgdx

所以我有平铺地图的问题,我的地图有空隙/纹理流血,我读了这个问题的其他问题,但我无法得到一个有效的。 我正在使用已经制作的精灵表,其中包括所有的瓷砖,所以enyone知道它的解决方案吗?我可以制作,我不需要从精灵表中剪下60块瓷砖?

1 个答案:

答案 0 :(得分:0)

使用纹理滤镜最近而非线性,因为线性用户4围绕纹素以计算实际颜色,因此当它位于贴图的边框上时,它将生成间隙。你可以在这里阅读有关TextureFilter的信息:

http://www.badlogicgames.com/wordpress/?p=1403

你设置它就像:

    Sprite sprite;

    //now you are initializing the sprite...

    sprite.getTexture().setFilter(TextureFilter.Nearest, TextureFilter.Nearest);

当然,如果您有权访问纹理,可以直接在纹理上调用 setFilter()。如果您不是因为从文件创建 tilesMap ,则可以尝试迭代切片并为每个切片纹理设置适当的过滤器:

    Iterator<TiledMapTileSet> iter = tiledMap.getTileSets().iterator();
    while(iter.hasNext())
    {
        Iterator<TiledMapTile> iterTile = iter.next().iterator();

        while(iterTile.hasNext())
        {
            iterTile.next().getTextureRegion().getTexture().setFilter(...);
        }
    }

你也可以在TexturePacker中挤出你的地图集 - 它会使边框上的每个像素加倍,因此颜色混合不会影响它