Ho difficoltà a ricevere eventi che funzionano con il mio Actor
in libgdx. Sto usando build notturne.Impossibile ottenere eventi funzionanti nel mio libgdx Attore
mio stadio è impostato un metodo di una sottoclasse Screen
show()
:
stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), true);
Gdx.input.setInputProcessor(stage);
TestActor actor = new TestActor();
stage.addActor(actor);
E mia classe attore assomiglia:
class TestActor extends Actor {
private Sprite sprite;
private TextureAtlas atlas;
public TestActor() {
atlas = new TextureAtlas(Gdx.files.internal("textures/images-packed.atlas"));
sprite = atlas.createSprite("logo-96");
setTouchable(Touchable.enabled);
addListener(new InputListener() {
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.debug(TestGame.TAG, "TestActor.touchDown()");
return true; // must return true for touchUp event to occur
}
public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.debug(TestGame.TAG, "TestActor.touchUp()");
}
});
}
@Override
public void draw(SpriteBatch batch, float parentAlpha) {
Color color = getColor();
batch.setColor(color.r, color.g, color.b, color.a * parentAlpha);
batch.draw(sprite, getX(), getY());
}
}
Gli eventi non sembrano al fuoco. Stranamente, ho usato i widget dell'interfaccia utente incorporati come lo TextButton
e posso far sì che quegli eventi vengano attivati correttamente. Qualcuno può vedere cosa sto facendo male?
Sì! Grazie! Mi stavo chiedendo se avesse qualcosa di simile. –