È possibile utilizzare "SetWrap" sulla consistenza e creare un TextureRegion sulla base di tale struttura. Importante: Mi ci è voluto un po 'per capirlo, ma per essere specchiato, la tua texture deve essere una potenza di due dimensioni. Stava lavorando su Android ma non su iOS e non ricevi un messaggio - è stato mostrato nero. Quindi deve essere 4x4 o 8x8, 16x16 .. 256x256 o 512x512 .. Creare un 3x3 mirroring immagine (o dimensioni axb)
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);
vi darà questa:
Qui sotto potete vedere il codice di esempio che ha generato quella foto con un palco e immagine Attore (Scene2D)
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();
}
}
ho scoperto che prima di chiedere, ma ho avuto difficoltà a raggiungere le cose che lavorano con "Texture" come apposto a "TextureRegion". Per ora ho risolto questo problema modificando leggermente le classi di LibGDX, il che non è certamente l'ideale, ma fa il trucco. – Shamrock
@Shamrock puoi postare qui come hai fatto? cosa hai cambiato? – Mars