当我尝试分割纹理时,它不起作用,当我在屏幕上绘制时,它会绘制与原始纹理相同的4个纹理。我使用以下代码拆分纹理。

texture = new Texture(Gdx.files.internal("fondo1.png"));
TextureRegion[][] regs = TextureRegion.split(texture, texture.getWidth() / 2, texture.getHeight() / 2);
Random rand = new Random();
        int x,y;
        for (int i=0; i < regs.length; i++){
            for (int j = 0; j < regs[i].length; j++){
                x = rand.nextInt(500);
                y = rand.nextInt(500);
                parts.add(new ImageActor(regs[i][j].getTexture(),x,y, regs[i][j].getRegionWidth(), regs[i][j].getRegionHeight()));
            }
        }


然后将纹理加载到Actor子类中,并通过舞台进行绘制。

有什么建议吗?
谢谢

最佳答案

我怀疑您的问题出在ImageActor构造函数的第一个参数中。您正在通过调用regs[i][j].getTexture()发送完整纹理。

getTexture()TextureRegion方法返回Region引用的完整纹理。

您应该将其发送给TextureRegion regs[i][j],并修改您的ImageActor,以便它可以接收和绘制TextureRegion

关于java - TextureRegion拆分不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26789568/

10-09 04:13