Libgdx: getRawDeltaTime()์€ setContinuousRendering()์ด false์—์„œ true๋กœ ๋ณ€๊ฒฝ๋  ๋•Œ 0์„ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2013๋…„ 12์›” 28์ผ  ยท  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);
    }
});

๋น„์—ฐ์† ๋ Œ๋”๋ง์—์„œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ชจ์–‘์ด ์—…๋ฐ์ดํŠธ๋˜์ง€๋งŒ ๋‹ค์šด ์ด๋ฒคํŠธ 1์ดˆ ํ›„์— up ์ด๋ฒคํŠธ๊ฐ€ click ์ด๋ฒคํŠธ๋กœ ์ด์–ด์ง€๋ฉด getDeltaTime()์ด ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ง€์† ์‹œ๊ฐ„๋ณด๋‹ค ์ปค์ง‘๋‹ˆ๋‹ค... ๋”ฐ๋ผ์„œ ์—ฐ์† ๋ Œ๋”๋ง์„ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํšจ๊ณผ๊ฐ€ ์—†์œผ๋ฉฐ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ฆ‰์‹œ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ _new_ ํ”„๋ ˆ์ž„์ด ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์ฒซ ๋ฒˆ์งธ ํ”„๋ ˆ์ž„(๋งˆ์ง€๋ง‰ ํ”„๋ ˆ์ž„์ด ์•„๋‹˜)๊ณผ ์ผ์น˜ํ•˜๋„๋ก ์—ฐ์† ๋ Œ๋”๋ง์œผ๋กœ ๋ณ€๊ฒฝํ•  ๋•Œ deltaTime์„ 0์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ–๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ ๋ฐฑ์—”๋“œ์˜ 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 ์—์„œ ์ˆ˜ํ–‰ ๋ฐฉ๋ฒ•์„

์ข‹์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค!

์ด ์‹œ๋„
์ตœ๋Œ€ ์‹œ๊ฐ„ = 0.2f
๋ธํƒ€ = ๋ธํƒ€ > ์ตœ๋Œ€ ์‹œ๊ฐ„ ? ์ตœ๋Œ€ ์‹œ๊ฐ„: ๋ธํƒ€ ;
30fps๋ฅผ ์–ป์œผ๋ฉด ์ตœ๋Œ€ 5ํ”„๋ ˆ์ž„์œผ๋กœ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค(๋ถ€๋“œ๋Ÿฌ์šด ์›€์ง์ž„์„ ์œ„ํ•ด ํ—ˆ์šฉ๋˜๋Š” ์ตœ์ €)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰