2016-06-14 24 views
0

お願いします。私が試してみてください。FadeIn LibGDXでの動作が正しく動作しない

actor.addAction(Actions.fadeOut(1.5f)); 

は私が取得: すべての私のステージがフェードアウトされます。

私の質問は、fadeOutアクションを適用した1つのアクタだけでなく、すべてのステージ(または少なくとも他のアクタ)をフェードアウトさせる理由です。

私はレンダリング:

@Override 
    public void render(float delta) { 
     Gdx.gl.glClearColor(255, 255, 255, 1); 
     Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
     stage.draw(); 
     stage.act(); 
    } 

は、あなたの答えをいただき、ありがとうございます。

+1

が、 'glClearColor'は間の正規化された色を期待0と1を返します。 – Tenfour04

答えて

3

どれ俳優クラスを変更していません。これは、バッチに直接カラーの頂点を渡すBitmapFontやSpriteのようなものでは不要ですが、batch.drawを呼び出すアクターは、Color.WHITEでも最初にカラーを渡す必要がありますが、一般的にはgetColor()をバッチに渡したいと思うでしょう。

これは、以前に描画されたアクタからバッチに残っている色が保証されていないためです。また

、あなたのアクターはグループであり、あなたは彼らが彼らの親とフェードアウトしたい、そして、彼らは、アカウントに親アルファを取る必要がある場合:

あなたの質問に関係のない
Color color = getColor(); 
batch.setColor(color.r, color.g, color.b, color.a * parentAlpha); 
0

ていることを確認ドローのあなたの俳優の実装では、()バッチに独自の色を適用しなければならないバッチの色、独自の

+0

'@Override public void draw(バッチバッチ、float parentAlpha){ batch.draw(cardTexture、getX()、getY()、getWidth()、getHeight()); super.draw(batch、parentAlpha); } ' –

+0

あなたは直接俳優を拡張していますか?次に、super.draw(batch、parentalpha)を削除できます。 そうでなければ、その方法を見せてください。 – Barodapride

+0

'actor.draw'には、バッチカラーを白くしなければならないという"契約 "はありません。 LibGDXのビルトインウィジェットの多くは、任意の古い任意の色でバッチを残します。代わりに、 'actor.draw'に渡されたバッチが' WHITE'の色を持っていると仮定することができないActorをサブクラス化するとき、あなたは気づく必要があります。 – Tenfour04

関連する問題