Libgdx: getRawDeltaTime () Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ 0, ΠΊΠΎΠ³Π΄Π° setContinuousRendering () ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ с false Π½Π° true

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 28 Π΄Π΅ΠΊ. 2013  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: libgdx/libgdx

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ бэкэндов Π½Π΅Ρ‚ возмоТности ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ 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_ ΠΊΠ°Π΄Ρ€ соотвСтствовал ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΊΠ°Π΄Ρ€Ρƒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ (Π° Π½Π΅ послСднСму):

  • с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° setContinousRendering () ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ бэкэнда
  • с Π½ΠΎΠ²Ρ‹ΠΌΠΈ setDeltaTime () ΠΈ setRawDeltaTime ()

Π― дСлаю это с интроспСкциСй, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ, Π½ΠΎ экономит ΠΌΠ½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ заряда Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ ΠΈ сохраняСт Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ.

Π§Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ?

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ (ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹) ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π΄Π΅Π»ΡŒΡ‚Π°-врСмя ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ это дСлаСтся, Π² https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/ActionTest.java.

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ (ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹) ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π΄Π΅Π»ΡŒΡ‚Π°-врСмя ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ это дСлаСтся, Π² https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/ActionTest.java.

Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ!

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ это
maxtime = 0,2f
Π΄Π΅Π»ΡŒΡ‚Π° = Π΄Π΅Π»ΡŒΡ‚Π°> максимальноС врСмя? maxTime: delta;
пропускаСт максимум 5 ΠΊΠ°Π΄Ρ€ΠΎΠ², Ссли Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ 30 ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² сСкунду (минимально допустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ двиТСния)

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ