2017-06-23 7 views
0

私は何かが分かっていないと思いますが、私はSlider(Scene2D.ui)の値をプログラムで変更することはできません。 私はこれをやりたいのは、スライダーでカスタマイズできるキャラクターがあるからですが、カスタマイズの出発点として使用できるいくつかのプリセット文字が必要だからです。私がこれまで持って何Sliderの値をプログラムで変更する方法は? (LibGDX)

は次のようなものです:

(ChangeListener)(slider.getListeners().get(0))が、私はスライダーが変更されたときに呼び出されchanged(ChangeEvent event, Actor actor)メソッドを呼び出すことはできません。

+0

あなたは、キャストラップする必要があります(。(のChangeListener)slider.getListenersを()(0)を取得) ' –

+0

をchange'あなたはprogressBar.setValueを呼び出してみましたか。? https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/ui/ProgressBar.html#setValue-float- – clearlyspam23

答えて

0

setValue(float value)メソッドSliderを使用すると、プログラムでスライダの値を変更できます。

public class GdxTest extends ApplicationAdapter { 

    Stage stage; 
    Slider slider; 

    @Override 
    public void create() { 

     stage=new Stage(); 
     Gdx.input.setInputProcessor(stage); 
     Skin skin=new Skin(Gdx.files.internal("skin/glassy-ui.json")); 

     Table table=new Table(); 
     table.setFillParent(true); 

     stage.addActor(table); 
     table.add(slider=new Slider(0,100,1,false,skin)); 

     slider.setValue(50); // value changed by 50% 
    } 

    ... 
}