내 처음으로 올린 글이며 스스로 가르쳐 주므로 친절하게하십시오!Java/libGDX - Actions.fadeIn() 및 Actions.fadeOut()과 관련한 문제
나는 게임 화면 클래스를 사용 libGDX에 Bomberman에 복제 게임을 구축했습니다 :
public class Main extends Game {
...
@Override
public void create() {
levelScreen = new LevelScreen(playerCount, new int[playerCount]);
levelScreen.level.addAction(Actions.sequence(Actions.alpha(0), Actions.fadeIn(2f)));
this.setScreen(levelScreen);
}
그러나 게임은 더 페이드 효과가없는 시작할 때.
public class LevelScreen implements Screen {
...
@Override
public void render(float delta) {
Gdx.gl.glClearColor(1, 0.1f, 0.5f, 0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
level.act();
level.draw();
batch.end();
}
나는이 레벨 화면을 검은 색으로 퇴색 시키길 원하지만, 그렇지 않다.
(홈페이지에서 클래스)
@Override
public void render() {
super.render();
if (endRoundTimer <= 0) {
trophyScreen = new TrophyScreen(playerCount, levelScreen.getScore());
levelScreen.level.addAction(Actions.sequence(Actions.fadeOut(1), Actions.run(new Runnable() {
@Override
public void run() {
setScreen(trophyScreen);
}
})));
}
}
그리고 나는 사용하여 시도했다 :
내가 흑인이 levelScreen의 페이드 아웃하려는 통해 라운드가
후 블랙에서 trophyScreen에 fadeIn TrophyScreen의 show() 메소드 :나는 많은 검색을 수행했지만 여러 가지 일을했지만 기쁨은 없었습니다. 페이드 동작이 일어나지 않도록하는 draw() 또는 render() 메서드에서 어딘가에 뭔가가 누락되었다고 확신합니다.
갱신 1
@Override public void draw() {
super.draw();
if (roundOver) {
this.getBatch().begin(); String s = String.format("%s", message);
font_text.draw(this.getBatch(), s, (90 + (2 * 30)), (this.getHeight()/2));
this.getBatch().end();
}
애니메이션의 페이드는 무엇을 사용하고 있습니까? –
'LevelScreen.level' 클래스의'draw' 메소드를 보여주십시오. – Tenfour04
@ZeRubeus 액션 시퀀스를 생성하고, 액션 시퀀스를 생성하고, 알파를 0으로 설정 한 다음, fadeIn (부동 소수점 길이) – CChapman01