2012-02-21 10 views
6

Jestem nowy i właśnie zaczynam swoją podróż z libgdx. Chciałbym wiedzieć, jak mogę zrobić image.png w rozdzielczości 960x640 jako tło w mojej grze? To jest możliwe? Thx za porady i wyrozumiałość. Może masz po prostu samouczek? To mój renderowanie Klasa:libgdx i aplikacja na Androida. Obraz jako tło

public void render() { 

    texture = new Texture(Gdx.files.internal("E:/background.png")); 

    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    batch.begin(); 
    batch.draw(texture, 0, 0); 
    batch.end(); 
} 

drugie pytanie. Potrzebuję wstawić dwa aktywne obrazy, aktywne środki, gdy kliknę na to zdjęcie, następny obraz pokazuje mnie na ekranie. Chcę wdrożyć działanie po kliknięciu tego obrazu.

Odpowiedz

7

W swojej metodzie create() utwórz nową teksturę odwołującą się do image.png, a następnie użyj istniejącego pakietu SpriteBatch w celu renderowania go w pętli render(). Natychmiast po wywołaniu GL.clear(), wykonaj polecenie batch.draw (backgroundTexture, 0. 0) i upewnij się, że korzystasz z trybu OrthographicProjection w swoim aparacie.

+0

otrzymuję błąd: szerokość i wysokość tekstury muszą być potęgami dwójki: 960x640 – edi233

+15

Można to obejść nadpisanie potęgi 2 kontroli w klasie Tekstury. Na początku swojej głównej metody create() dodaj: 'Texture.setEnforcePotImages (false);' – Shinzul

+2

^Czy to jednak wpłynie na wydajność lub zgodność? –

0

najpierw trzeba ustawić port widok zrobić w swoim stworzenia metody

`SCRW pływak = 960; float scrh = 640;

camera = new OrthographicCamera(); 
    camera.viewportHeight = scrh; 
    camera.viewportWidth = scrw; 

    camera.position.set(camera.viewportWidth * .5f, 
      camera.viewportHeight * .5f, 0f); 
    camera.update();` 

stworzyć teksturę

texture = new Texture("data/background.png");

umieścić tę fakturę w ikonki jak to

sprite=new sprite(texture);

a następnie ustawić rozmiar jak ten

sprite.setsize(960,640);

i wyciągnąć go w swoich metodach renderowania między batch.begin i batch.end

sprite.draw(batch);