Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π±ΡΠΊΡΠ½Π΄ΠΎΠ² Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ±ΡΠΎΡΠΈΡΡ detlaTime ... ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Ρ ΠΏΡΠ΅ΡΡΠ²ΠΈΡΡΠΎΠ³ΠΎ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π½Π° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΌΠ΅Π½Ρ Π² scene2d.ui). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠ°ΠΊΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ:
final TextButton button = new TextButton("New Game", textButtonStyle);
button.addListener(new ClickListener() {
public void clicked(InputEvent event, float x, float y) {
Gdx.app.debug("TestApplication", "button clicked");
MoveToAction outAction = Actions.action(MoveToAction.class);
outAction.setPosition(0, 0);
outAction.setDuration(.5f);
outAction.setInterpolation(Interpolation.pow2Out);
button.addAction(Actions.sequence(outAction, Actions.run(new Runnable() {
<strong i="6">@Override</strong>
public void run() {
Gdx.graphics.setContinuousRendering(false);
Gdx.graphics.requestRendering();
}
})));
Gdx.graphics.setContinuousRendering(true);
}
});
ΠΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ° ΠΏΡΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΌ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π΅, Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅ up ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠ±ΡΡΠΈΡ click ΡΠ΅ΡΠ΅Π· 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ±ΡΡΠΈΡ down, getDeltaTime () Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ... ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ°, ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
Π― Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ deltaTime Π½Π° Π½ΠΎΠ»Ρ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Π½Π° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ²ΡΠΉ _new_ ΠΊΠ°Π΄Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π» ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΊΠ°Π΄ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (Π° Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ):
Π― Π΄Π΅Π»Π°Ρ ΡΡΠΎ Ρ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠ΅ΠΉ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±, Π½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΌΠ½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΡΡΠ΄Π° Π±Π°ΡΠ°ΡΠ΅ΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ.
Π§ΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ?
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ (ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ) ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄Π΅Π»ΡΡΠ°-Π²ΡΠ΅ΠΌΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ, Π² https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/ActionTest.java.
ΠΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ!
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΡΠΎ
maxtime = 0,2f
Π΄Π΅Π»ΡΡΠ° = Π΄Π΅Π»ΡΡΠ°> ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ? maxTime: delta;
ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 5 ΠΊΠ°Π΄ΡΠΎΠ², Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ 30 ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ)
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ (ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ) ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄Π΅Π»ΡΡΠ°-Π²ΡΠ΅ΠΌΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ, Π² https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/ActionTest.java.