2013-07-31 6 views
6

Mam ledwie zauważalną, ale denerwującą i przypadkową usterkę, polegającą na pośredniczeniu aktora w animacji. Aktor to tylko grupa z obrazem. Animacja jest liniowa od prawej strony ekranu do lewej i jest powtarzana.Glitch z tween engine i libgdx

FPS zawsze pokazuje 60.

Masz pomysł?

Jest to kod:

public class BackgroundScreen extends AbstractScreen { 

public BackgroundScreen() {  
    stage = new Stage(); 
    stage.setViewport(Properties.VIRTUAL_WIDTH, Properties.VIRTUAL_HEIGHT, false); 
    createRock(); 
} 

private void createRock() { 
    rock = new GameElement(atlas.createSprite("obj-stone")); 
    rock.setX(Properties.VIRTUAL_WIDTH); 
    rock.setY(100); 
    float duration=5f; 
    Tween.to(rock, ActorAccessor.POSITION_XY, duration/2).ease(Linear.INOUT).target(-rock.getWidth(), rock.getY()).repeat(Tween.INFINITY, 0).start(Resources.tweenManager); 
    stage.addActor(rock); 
} 

@Override 
public void render(float delta) { 
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    Resources.tweenManager.update(delta); 
    stage.act(delta); 
    stage.draw(); 
} 

} 

UPDATE

To jest link do filmu YouTube z efektu. Dwie uwagi:

http://www.youtube.com/watch?v=0pVJbGFciyo

a) Kiedy screenrecording film The glich jest bardziej wyraźny, jak można oglądać. b) Nie widzę żadnej usterki na moim Galaxy Nexusie. c) Zrobiłem tę samą animację z tylko działaniami libgdx i usterka jest taka sama d) W jakiś sposób jest to związane z moim komputerem.

+1

Będziesz musiał opisać "losowy błąd" bardziej szczegółowo. Nie jest jasne, jaki problem widzisz. –

+0

Przesyłam wideo jak najszybciej. –

+0

Mam zaktualizowane pytanie. Dziękuję Ci. –

Odpowiedz

0

Powinieneś grać z równaniem animacji. Poza zakładem powiedziałbym, że to Linear.INOUT jest przyczyną tego, że duszek się gniecie. maybye po prostu spróbuj uruchomić go z Linear.IN zrobi lewy.