Я хочу, чтобы текст отображался в центре экрана, указывая на текущий уровень. Он должен появляться постепенно и через некоторое время постепенно исчезать. Я использую scene2d с этапами, актерами .. поэтому я бы использовал Actions.Некоторые действия не работают
Это то, что я есть сейчас:
public class TextActor extends Actor {
private BitmapFont font;
private CharSequence charSequence;
public TextActor(CharSequence charSequence) {
font = new BitmapFont(Gdx.files.internal("fonts/white_standard_font.fnt"));
this.charSequence = charSequence;
}
@Override
public void act(float delta) {
super.act(delta);
}
@Override
public void draw(Batch batch, float delta) {
super.draw(batch, delta);
font.draw(batch, charSequence, getX(), getY());
}
}
В классе, который создает TextActor ..
textActor.addAction(Actions.sequence(Actions.fadeIn(1f), Actions.delay(1f), Actions.fadeOut(1f), new Action() {
@Override
public boolean act(float delta) {
textActor.remove();
transitionInProgress = false;
gameState = GameState.RUNNING;
Gdx.input.setInputProcessor(stage);
return true;
}
}));
gameTable.addActor(textActor);
FadeIn, FADEOUT, альфа .. не работает. Я пробовал использовать «moveBy», и он работает, поэтому кажется, что проблема связана с появлением Актера. Есть что-то, что ускользает от меня.
Благодарим за помощь. Я понял проблему. В любом случае я не понял вашего обновления, и если я попробую ваше первое решение, fadeIn() не работает. Метка появляется, а затем постепенно исчезает, но она также должна появляться постепенно. – user3075478
Прежде чем добавлять свои действия, попробуйте 'textActor.getColor(). A = 0'. Затем он должен исчезать правильно. Прочтите [this] (https://github.com/libgdx/libgdx/wiki/Scene2d#drawing) для лучшего объяснения моего обновленного ответа. – a9y
Спасибо, теперь это работает! – user3075478