当我尝试分割纹理时,它不起作用,当我在屏幕上绘制时,它会绘制与原始纹理相同的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/