Анимация BitmapFont в Libgdx Actor Session2D

Я пытаюсь анимировать актера, который содержит простое сообщение, написанное с помощью bitmapfont, используя действие fadeIn, но оно не работает.

Вот мой код

public class Message extends Actor{

        BitmapFont font;
        String message;
        float x, y;

        public Message(BitmapFont font, String message, float x, float y) {
            this.font = font;
            this.message = message;
            this.x = x;
            this.y = y;
        }

        @Override
        public void draw(Batch batch, float parentAlpha) {
            Color color = getColor();
            batch.setColor(color.r, color.g, color.b, color.a * parentAlpha);
            font.setColor(color.r, color.g, color.b, color.a * parentAlpha);
            font.draw(batch, message, x, y);
        }
    }

Затем при нажатии кнопки должно появиться сообщение, но оно появляется только без анимации.

button.addListener(new ClickListener() {
            @Override
            public void clicked(InputEvent event, float x, float y) {
                BitmapFont font = new BitmapFont(Gdx.files.internal("myfont.font"));
                Message message = new Message(font, "Tap Here", 100, 20);
                stage.addActor(message);
                message.addAction(Actions.fadeIn(5));
            }});

Анимация других актеров на той же сцене отлично работает, как я звоню:

stage.act(delta);
stage.draw();

1 ответ

Решение

Вы должны установить альфа актера сообщения равным нулю перед добавлением действия fadeIn:

button.addListener(new ClickListener() {
            @Override
            public void clicked(InputEvent event, float x, float y) {
                BitmapFont font = new 
                BitmapFont(Gdx.files.internal("myfont.font"));
                Message message = new Message(font, "Tap Here", 100, 20);
                message.getColor().a = 0f; // add this line
                stage.addActor(message);
                message.addAction(Actions.fadeIn(5));
            }});
Другие вопросы по тегам