我正在尝试在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;
}
})));
答案 0 :(得分:0)
首先here是用于连续渲染的Wiki条目。
回答您的问题:您不愿致电
Gdx.graphics.requestRendering();
由您自己决定。 Wiki条目中提到的许多默认操作都在调用此方法,因此它们请求渲染调用。对于您自己的自定义操作,您必须手动执行此操作。