2012-12-13 17 views
6

Oto mój kod:Jaki jest najprostszy sposób, aby obraz był dotykalny w libgdx?

@Override 
public void resize(int width, int height) { 
super.resize(width, height); 

stage.clear(); 

// background image 
Image backImage = new Image(backTexture); 
backImage.setX(0); 
backImage.setY(0); 
backImage.setWidth(800); 
backImage.setHeight(480); 

// start game image 
Image startImage = new Image(startTexture); 
startImage.setX(415); 
startImage.setY(180); 
startImage.setWidth(323); 
startImage.setHeight(69); 

stage.addActor(backImage); 
stage.addActor(startImage); 
} 

Tworzę prostą grę i jest to sposób tworzę menu główne. Chcę, aby mój startImage był dotykalny (klikalny), ponieważ nie ma dostępnego detektora dla klasy Image. Jak mam to zrobić? A może lepiej użyć ImageButton? W ten sposób będę musiał stworzyć atlas obraz, który wydaje się być trochę skomplikowane dla mnie teraz ..

EDIT: Próbowałem następujące:

startImage.addListener(new ClickListener() { 
    public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) 
    { 
     game.setScreen(new SplashScreen(game)); 
     return true; 
    } 
}); 

Ale to nadal nie działa ..

EDIT:

Gdx.input.setInputProcessor(stage); 

musi zostać wywołana. Rozwiązany.

+0

znaleźć rozwiązanie tutaj: http://stackoverflow.com/questions/11373390/button-clicklistener-is-not-working-in-libgdx-game [1]: http://stackoverflow.com/questions/11373390/button-clicklistener-is-not-working-in-libgdx-game – milano

+0

Proszę podać swoje rozwiązanie jako "odpowiedź" i zaakceptować je. Zobacz http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/ –

Odpowiedz

9

Rozwiązanie jest wywołanie następuje:

Gdx.input.setInputProcessor(stage); 
Powiązane problemy