2016-04-17 9 views
1

私はしばらくの間、助けを求めてきました。最後に、狩りを続けるよりも尋ねる方が速いようです。Libgdx Scene2dプログレスバーは空にならない

Progress bar not empty at 0 value

ここでは、偶数値0で、プログレスバーのノブがまだ表示されていることがわかります。プレイヤーは死んでいるので、これは空でなければなりません。私は本当にscene2dプログレスバークラスを使用したいと思います、誰もがヒントを持っていますか?プログレスバーがちょうどスライダーであるとして、それは0で、私はそれを作成することでした解決方法を棒を置き、

healthbarTex = new Texture(Gdx.files.internal("Spritesheets/healthbar.png")); 

textureBar = new TextureRegionDrawable(new TextureRegion(healthbarTex)); 

ProgressBar.ProgressBarStyle barStyle = new ProgressBar.ProgressBarStyle(skin.newDrawable("white", Color.DARK_GRAY), textureBar); 

barStyle.knobBefore = barStyle.knob; 

barStyle.background = skin.newDrawable("white", Color.BLACK); 

bar = new ProgressBar(0, 100, .5f, false, barStyle); 

//Animate duration is how slow the bar moves when updated 

bar.setAnimateDuration(1); 

bar.setWidth(100); 

答えて

0

私は正確に同じ問題を抱えていた。ここで

は、プログレスバーのコードです画像エディタでhealthbar.png(同一寸法)の正確なコピーだが、それ getValue()が0である場合は、あなたのバーの進行状況を更新するたび

invisHealthbarTex = new Texture(Gdx.files.internal("Spritesheets/invishealthbar.png")); 

invisTextureBar = new TextureRegionDrawable(new TextureRegion(invisHealthbarTex)); 

はその後、他のbar.getStyle().knob = invisTextureBarを設定textureBarに設定transarent空白PNG作ります。

onUpdate(float val) 
{ 
    if (val == 0) 
    { 
     bar.getStyle().knob = invisTextureBar; 
    } 
    else 
    { 
     bar.getStyle().knob = textureBar; 
    } 

    bar.getStyle().knobBefore = bar.getStyle().knob; 

    bar.setValue(val); 
} 
+0

完璧、ありがとう!これにより、点滅する効果をヘルスバーに追加することも簡単になります! – Fosa

関連する問題