LibGdx:Tween Tween 引擎回调
LibGdx:Tween Callback on Tween Engine
我正在关注以下 tutorial 我已经创建了一个按钮,但是现在当我编写 TweenCallback 时,它应该在动画结束时显示该按钮。但是它不起作用,只是以启动画面淡入淡出结束。这是我的启动画面代码。
public class Splash implements Screen{
private Sprite splash;
private SpriteBatch batch;
private TweenManager 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();
}
@Override
public void resize(int width, int height) {
}
@Override
public void show() {
tweenManager = new TweenManager();
Tween.registerAccessor(Sprite.class, new SpriteAccessor());
batch = new SpriteBatch();
Texture splashTexture = new Texture ("Backgrounds/openingScreen.png");
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, 3f).target(1).repeatYoyo(1, 0f).setCallback(new TweenCallback() {
@Override
public void onEvent(int type, BaseTween<?> source) {
((Game)Gdx.app.getApplicationListener()).setScreen(new MainMenu());
}
}).start(tweenManager);
}
我知道问题不在于按钮,因为我在主 class 尝试使用 setScreen (new MainMenu());按钮出现。现在在这里我不明白为什么它不会出现。该教程运行良好,我还根据教程中的源代码检查了我的代码。
有任何想法吗?
谢谢
答案:原来我在 MainMenu class 中注释掉了屏幕上的初始绘制,这就是它不起作用的原因
我正在关注以下 tutorial 我已经创建了一个按钮,但是现在当我编写 TweenCallback 时,它应该在动画结束时显示该按钮。但是它不起作用,只是以启动画面淡入淡出结束。这是我的启动画面代码。
public class Splash implements Screen{
private Sprite splash;
private SpriteBatch batch;
private TweenManager 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();
}
@Override
public void resize(int width, int height) {
}
@Override
public void show() {
tweenManager = new TweenManager();
Tween.registerAccessor(Sprite.class, new SpriteAccessor());
batch = new SpriteBatch();
Texture splashTexture = new Texture ("Backgrounds/openingScreen.png");
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, 3f).target(1).repeatYoyo(1, 0f).setCallback(new TweenCallback() {
@Override
public void onEvent(int type, BaseTween<?> source) {
((Game)Gdx.app.getApplicationListener()).setScreen(new MainMenu());
}
}).start(tweenManager);
}
我知道问题不在于按钮,因为我在主 class 尝试使用 setScreen (new MainMenu());按钮出现。现在在这里我不明白为什么它不会出现。该教程运行良好,我还根据教程中的源代码检查了我的代码。 有任何想法吗? 谢谢
答案:原来我在 MainMenu class 中注释掉了屏幕上的初始绘制,这就是它不起作用的原因