Nupu loomine¶
Nupud on UI jaoks vajalikud elemendid.
Lihtsustatult öeldes toimib nupp libGDX-is näitlejana (Actor
).
Näitleja renderdamine hõlmab selle paigutamist lava (Stage
) koos teiste ekraani elementidega,
mis seejärel haldab renderdamis- ja värskendus protsesse.
Siin on, kuidas luua erinevaid nuppe libGDX-is, sealhulgas TextButton
, ImageButton
ja
ImageTextButton
.
Kuidas alustada nupu loomisega?¶
Seadistage lava (Stage
) UI elementide haldamiseks ja sisend-protsessi konfigureerimiseks.
public class MyGame extends ApplicationAdapter{
private Stage stage;
@Override
public void create() {
stage = new Stage(new ScreenViewport());
Gdx.input.setInputProcessor(stage);
}
@Override
public void render() {
// Clear the screen
Gdx.gl.glClearColor(0.2f, 0.2f, 0.2f, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
// Update and render the stage
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
}
}
Nupule funktsionaalsuse lisamine¶
Määra ChangeListener
-i changed
meetodi sees tegevused, mida teha, kui
nuppu vajutatakse.
Teisele ekraanile või stseenile lülitumine¶
Kui soovite nuppu vajutades lülituda teisele ekraanile või stseenile,
saate kasutada libGDX-i Screen
klassi.
Esiteks veenduge, et olete oma ekraanid korralikult seadistanud.
Seejärel, changed
meetodi sees, kutsuge ekraani vahetamise meetod.
@Override
public void changed(ChangeEvent event, Actor actor) {
game.setScreen(new NextScreen(game)); // Assuming 'game' is your Game object
}
Helide mängimine¶
Helide mängimiseks võite kasutada libGDX-i Sound
klassi.
Esiteks laadige helifail ja seejärel, changed
meetodi sees, mängige heli.
Sound buttonClickSound = Gdx.audio.newSound(Gdx.files.internal("button_click.wav"));
@Override
public void changed(ChangeEvent event, Actor actor) {
buttonClickSound.play();
}
Konkreetsete mängusündmuste käivitamine¶
Kui soovite nupu vajutamisel käivitada konkreetseid mängusündmusi, võite
otse kutsuda vastavaid meetodeid changed
meetodi sees.
@Override
public void changed(ChangeEvent event, Actor actor) {
gameManager.triggerEvent(); // Call your game manager's method to trigger an event
}
Kohandatud toimingute määratlemine¶
Samuti saate määratleda kohandatud toimingud, mida tuleb changed
meetodi
sees teha.
Näiteks võite soovida liigutada tegelast, luua objekti või kuvada sõnumit.
@Override
public void changed(ChangeEvent event, Actor actor) {
player.moveRight();
gameManager.spawnEnemy();
showMessage("Button clicked!");
}
Lõpetuseks¶
Veenduge, et rakenduse sulgemisel hävitate kõik hävitatavad ressursid, nagu tekstuurid ja fondid.
@Override
public void dispose() {
stage.dispose();
skin.dispose();
font.dispose();
}