Java libGDX绘制纹理区域的一部分

Java libGDX绘制纹理区域的一部分,java,libgdx,Java,Libgdx,我正在制作一个基于瓷砖的游戏,我的部分实体精灵的纹理略大于瓷砖。我试图在播放器下方绘制部分纹理区域,因此播放器顶部位于播放器上方,而另一部分纹理区域位于播放器下方,因此播放器位于播放器后面 精灵的纹理是一个精灵表,四个方向有四个不同的部分,当实体改变方向时,TextureRegion将设置为我要绘制的精灵表部分 我已经能够在播放器前后绘制部分精灵,但是纹理区域不是对应于方向的精灵表部分 这就是我到目前为止所做的: for (int i = 0; i < characters.len

我正在制作一个基于瓷砖的游戏,我的部分实体精灵的纹理略大于瓷砖。我试图在播放器下方绘制部分
纹理区域
,因此播放器顶部位于播放器上方,而另一部分纹理区域位于播放器下方,因此播放器位于播放器后面

精灵的纹理是一个精灵表,四个方向有四个不同的部分,当实体改变方向时,
TextureRegion
将设置为我要绘制的精灵表部分

我已经能够在播放器前后绘制部分精灵,但是
纹理区域
不是对应于方向的精灵表部分

这就是我到目前为止所做的:

    for (int i = 0; i < characters.length; i++) {
        mapBatch.draw(characters[i].getSprite().getTexture(), characters[i].getSprite().getX(), characters[i].getSprite().getY(), characters[i].getSprite().getRegionX(), characters[i].getSprite().getRegionY() + 5, 16, 16);
    }
    player.draw(mapBatch);
    for (int i = 0; i < characters.length; i++) {
        mapBatch.draw(characters[i].getSprite().getTexture(), characters[i].getSprite().getX(), characters[i].getSprite().getY() + 16, characters[i].getSprite().getRegionX(), characters[i].getSprite().getRegionY(), 16, 5);
    }
for(int i=0;i
这是具有四个不同方向的精灵表


没有足够的细节来理解您要做的事情。基本上,我希望部分精灵纹理在播放器后面渲染,部分在前面渲染,这一点很清楚,但是纹理区域的哪一部分,是矩形区域,四个不同的部分/方向是什么意思,它看起来是什么样子?根据您提供的细节,我所能说的就是在绘制播放器之前绘制后面的纹理区域,在绘制播放器之后绘制前面的纹理区域。TextureRegion类中有直接的方法可用于将纹理或TextureRegion划分为多个区域。或者SpriteBatch有使用UV坐标的draw()方法。我添加了一个到我正在使用的图像文件的链接,我想绘制角色在播放器后面面对的每个方向的底部16x16正方形,并且播放器前面每个方向的最后一个顶部5x16矩形本质上纹理是整个pWrite表。创建纹理区域是为了可以单独控制纹理的各个部分。所以你不会把一个纹理区域本身分割,你会把一个纹理分割成纹理区域。