fadeIn,fadeOut和moveTo动作对Actors不起作用

时间:2014-12-02 09:45:09

标签: libgdx scene2d

我有一个堆栈,我填写表格。我尝试淡入淡出,淡出淡出,移动到这些演员中的几个但是addAction方法不起作用:

    stack_stage = new Stack();      
    table_menu = new Table();
    level_selector = new ex01MenuLevelSelectorBase(skin, table_menu);       

    table_menu.add(level_selector).center();
    table_menu.setFillParent(true);

    stack_stage.setFillParent(true);
    stack_stage.add(table_menu);
    stage.addActor(stack_stage);

    table_level_selector = new Table();
    image_level_selector = new Image(skin.getDrawable("hud-level5"));
    image_level_selector.setColor(1f, 1f, 1f, 0.5f);
    table_level_selector.add(image_level_selector);     

    stack_stage.addActor(table_level_selector);

    //doesn't work 
    table_level_selector.addAction(com.badlogic.gdx.scenes.scene2d.actions.Actions.fadeOut(5f));

    //works
    table_level_selector.addAction(com.badlogic.gdx.scenes.scene2d.actions.Actions.hide());

2 个答案:

答案 0 :(得分:2)

试试这个

table_level_selector.addAction(Actions.sequence(Actions.fadeOut(5f),Actions.hide ()));  

table_level_selector.addAction(Actions.sequence(
                              com.badlogic.gdx.scenes.scene2d.actions.Actions.fadeOut(5f),
                              com.badlogic.gdx.scenes.scene2d.actions.Actions.hide ()));

很可能这是你的错误,请在渲染方法中尝试这个

stage.act(Gdx.graphics.getDeltaTime());

答案 1 :(得分:0)

我知道它有点晚了,但今天我遇到了同样的问题并意识到我没有添加

Gdx.gl.glClearColor(0, 0, 0, 0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

在render方法中。这导致我的图像自我绘制:

  1. 当它消失时,花费的时间少于我的预期(因为alphas正在添加)

  2. 当它淡出时,图像没有变化(因为下面有相同的图像)

  3. 我知道这不是你的情况,但是这个错误花了我一些时间来弄清楚什么不是为了发现这个小小的疏忽而工作!