Я делаю мини-проект с libGDX и реализую библиотеку Universal-Tween-Engine.
Проблема в том, что когда я хочу сделать переход непрозрачности с 0 на 1 спрайта переход практически незаметен. Однако я знаю, что метод Tween.set работает, потому что, когда я прокомментировал строку Tween.to... и снова открыл приложение, спрайт на очень короткое время появился, чтобы внезапно стал невидимым, как и должно быть (я не знаю, ошибка ли это или так оно и должно работать).
Один из способов решения этой проблемы заключался в прямой установке начального значения спрайт всплеска с помощью Splash.setAlpha(0), но я не думаю, что это самое подходящее решение.
public class Splash implements Screen {
private SpriteBatch batch;
private Sprite splash;
private TweenManager tweenManager;
@Override
public void show() {
batch = new SpriteBatch();
tweenManager = new TweenManager();
Tween.registerAccessor(Sprite.class, new SpriteAccessor());
Texture splashTexture = new Texture(Gdx.files.internal("img/splash-image.jpg"));
splash = new Sprite(splashTexture);
splash.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Tween.set(splash, SpriteAccessor.ALPHA).target(0).start(tweenManager);
Tween.to(splash, SpriteAccessor.ALPHA, 3).target(1).start(tweenManager);
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
tweenManager.update(delta);
batch.begin();
splash.draw(batch);
batch.end();
}
// ...
Подробнее здесь: https://stackoverflow.com/questions/784 ... rogressive