Libgdx Stage.setActionsRequestRendering(true)无法按预期工作

时间:2018-06-27 17:30:19

标签: android libgdx

我正在尝试在LibGDX中禁用继续帧渲染。

如libgdx文档here中所述,可以通过调用setContinuousRendering(false)来完成,并且效果很好。

我想做的另一件事是将动作应用于某个actor时,必须渲染每个帧,直到动作尚未完成。 为此,我从阶段setActionsRequestRendering(true)调用了该方法,该方法没有任何改变。帧被丢弃而不呈现。 在演员上执行的已应用的动作正在起作用,但可以直接应用而不会产生任何影响。

我在这里缺少什么?

更新:

我有一个演员,是形象的,并像这样对演员进行动作。

img.addAction(Actions.moveTo(x, y, 0.5f, Interpolation.swingIn));

此操作将跳过前几帧。动作时,fps记录器还会显示1-20之间的随机帧数。没有其他可能影响帧速率的问题。

如果在拖动actor之后应用此动作,则该动作也可以按预期工作。但如果单击后应用,将无法正常工作。

拖动后应用操作。

img.addAction(Actions.sequence(
        Actions.moveTo(x, y, 0.5f , Interpolation.exp5Out),
        Actions.run(new Runnable() {
            @Override
            public void run() {
                dragged = true;
            }
        })));

1 个答案:

答案 0 :(得分:0)

首先here是用于连续渲染的Wiki条目。

回答您的问题:您不愿致电

Gdx.graphics.requestRendering();

由您自己决定。 Wiki条目中提到的许多默认操作都在调用此方法,因此它们请求渲染调用。对于您自己的自定义操作,您必须手动执行此操作。