当我尝试分割纹理时,它会起作用,当我在屏幕上绘制时,它会绘制与原始纹理相同的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子类中并通过stage进行绘制。
有什么建议吗? 感谢
答案 0 :(得分:1)
我怀疑你的问题出现在ImageActor
构造函数的第一个参数中。您通过调用regs[i][j].getTexture()
发送完整纹理。
getTexture()
的{{1}}方法返回区域引用的完整纹理。
您应该发送TextureRegion
,然后修改TextureRegion regs[i][j]
,以便它可以接收并绘制ImageActor
。