Bạn có thể sử dụng "SetWrap" trên kết cấu của mình và tạo TextureRegion dựa trên Texture đó. Để tạo hình ảnh được nhân đôi 3x3 (hoặc kích thước nách)
Texture imgTexture = new Texture(Gdx.files.internal("badlogic.jpg"));
imgTexture.setWrap(Texture.TextureWrap.MirroredRepeat, Texture.TextureWrap.MirroredRepeat);
TextureRegion imgTextureRegion = new TextureRegion(imgTexture);
imgTextureRegion.setRegion(0,0,imgTexture.getWidth()*3,imgTexture.getHeight()*3);
Quan trọng: Tôi phải mất một thời gian để tìm ra nó, nhưng để được nhân đôi, kết cấu của bạn phải là một sức mạnh có hai kích cỡ. Nó hoạt động trên Android nhưng không phải trên iOS và bạn không nhận được tin nhắn - nó được hiển thị màu đen. Vì vậy, nó phải là 4 x 4 hoặc 8 x 8, 16x16 .. 256x256 hoặc 512x512 ..
Sẽ cung cấp cho bạn điều này:
Dưới đây bạn có thể thấy mã mẫu đã tạo ra hình ảnh đó bằng cách sử dụng Trình diễn sân khấu và hình ảnh (Cảnh2D)
public class GameScreen implements Screen {
MyGdxGame game;
private Stage stage;
public GameScreen(MyGdxGame aGame){
stage = new Stage(new ScreenViewport());
game = aGame;
Texture imgTexture = new Texture(Gdx.files.internal("badlogic.jpg"));
imgTexture.setWrap(Texture.TextureWrap.MirroredRepeat, Texture.TextureWrap.MirroredRepeat);
TextureRegion imgTextureRegion = new TextureRegion(imgTexture);
imgTextureRegion.setRegion(0,0,imgTexture.getWidth()*3,imgTexture.getHeight()*3);
TextureRegionDrawable imgTextureRegionDrawable = new TextureRegionDrawable(imgTextureRegion);
Image img = new Image();
img.setDrawable(imgTextureRegionDrawable);
img.setSize(imgTexture.getWidth()*3,imgTexture.getHeight()*3);
stage.addActor(img);
}
@Override
public void show() {
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act(delta);
stage.draw();
}
@Override
public void resize(int width, int height) {
stage.getViewport().update(width, height, true);
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
stage.dispose();
}
}