J'ai une classe où je charge tous mes TextureRegions. Maintenant, je veux créer un bouton TextButton dans différentes classes qui utilise le TextureRegion de mon AssetLoader. Mon flux de travail réel est:libGDX: Créer TextButton avec TextureRegion
buttonsAtlas = new TextureAtlas("images.atlas");
buttonSkin = new Skin();
buttonSkin.addRegions(buttonsAtlas);
font = new BitmapFont();
stage = new Stage(new FitViewport(800, 400, camera), game.batch);
Gdx.input.setInputProcessor(stage);
textButtonStyle = new TextButton.TextButtonStyle();
textButtonStyle.up = buttonSkin.getDrawable("start_button_up");
textButtonStyle.down = buttonSkin.getDrawable("start_button_down");
textButtonStyle.font = font;
button = new TextButton("Start", textButtonStyle);
button.setHeight(AssetLoader.startButtonDown.getRegionHeight());
button.setWidth(AssetLoader.startButtonDown.getRegionWidth());
button.setPosition(0,100);
stage.addActor(button);
button.addListener(new ClickListener() {
public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
/// start game
game.setScreen(new PlayScreen(game));
dispose();
}
});
Mais dans ce cas, je ne vraiment pas besoin de mon AssetsLoader (attendre la RegionWidth et RegionHeight) et il semble que beaucoup de code pour chaque bouton dans différentes classes. Y a-t-il une solution pour résoudre ce problème plus efficace?
quel est le problème? – Aryan
Ma question est la suivante: cette méthode est-elle acceptable ou existe-t-il une autre méthode efficace? –