2016-06-14 8 views
0

제발 도와주세요. 나는 시도 :FadeIn LibGDX의 동작이 올바르게 작동하지 않습니다.

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

내가 얻을 : 내 모든 단계는 페이드 아웃된다.

그래서 내 질문은 왜 내가 fadeOut 작업을 적용했지만 하나 이상의 모든 배우 (또는 적어도 일부 다른 배우)를 대상으로 페이드 아웃하는 것입니까?

렌더링 내 :

@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 (일괄 처리, parentAlpha) { batch.draw super.draw (batch, parentAlpha); } ' –

+0

배우를 직접 확장 하시겠습니까? 그런 다음 super.draw (batch, parentalpha)를 삭제할 수 있습니다. 그렇지 않으면 그 방법을 보여주세요. – Barodapride

+0

'actor.draw'에 "계약"이 없으므로 배치 색상을 흰색으로 두어야합니다. LibGDX에 내장 된 많은 위젯들은 이전 임의의 색상으로 배치를 떠납니다. 대신 Actor를 서브 클래스화할 때'actor.draw'에 전달 된 배치가'WHITE'의 색상을 가졌다 고 추측 할 수 없다는 사실을 알고 있어야합니다. – Tenfour04