2016-07-13 15 views
0

Der Bildschirm ist leer, wenn keine Taste gedrückt wird. Ich möchte, dass die Animation beim letzten Bild der Animation stoppt, aber verschwindet, wenn keine Taste gedrückt wird . Hier ist meine Rendermethode.Animation erscheint nur, wenn Taste gedrückt wird, Bild verschwindet, wenn keine Taste gedrückt wird

public void render() { 
    Gdx.gl.glClearColor(0, 0, 0, 1); 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
    batch.begin(); 
    time += Gdx.graphics.getDeltaTime(); 
    if (Gdx.input.isKeyPressed(Input.Keys.RIGHT)){ 
     batch.draw(right.getKeyFrame(time, true), 100, 0); 
    } 
    if (Gdx.input.isKeyPressed(Input.Keys.LEFT))batch.draw(left.getKeyFrame(time,true),100,0); 
    batch.end(); 
} 

Antwort

1

Das Problem ist, dass Sie nicht batch.draw(...) fordern, wenn weder rechts oder links gedrückt werden.

Sie brauchen so etwas wie:

if (Gdx.input.isKeyPressed(Input.Keys.RIGHT)) 
{ 
    batch.draw(right.getKeyFrame(time, true), 100, 0); 
} 
else if (Gdx.input.isKeyPressed(Input.Keys.LEFT)) 
{ 
    batch.draw(left.getKeyFrame(time, true), 100, 0); 
} 
else 
{ 
    batch.draw(middle.getKeyFrame(time, true), 100, 0); 
} 

Sie müssen die middle Objekt mit ersetzen, was Sie erwarten, auf dem Bildschirm zu sehen, wenn keine Tasten gedrückt werden.

+0

Wow, das funktioniert perfekt. Ich habe versucht, einfach, aber sonst nie gedacht oder wenn sonst strukturieren. Vielen Dank .. – user3044702

+0

Froh, dass es funktioniert - Könnten Sie bitte die Antwort als richtig markieren? ;) – munyul

Verwandte Themen