我读到我可以使用多个阶段。
我有一个OrthographicCamera
有一些自定义函数,但它们并不重要。
我有一个问题:
@Override
public void draw(){
loginStage.getViewport().setCamera(camera);
registerStage.getViewport().setCamera(camera);
loginStage.act(delta);
loginStage.draw();
registerStage.act(delta);
registerStage.draw();
}
这导致所有Actor
的动作执行得太快。它以某种方式更新世界两次或其他东西。当我取消注释时:
//registerStage.getViewport().setCamera(camera);
或者这个:
//registerStage.draw();
loginStage表现良好(通常),演员的速度正常。
我应该为两个阶段创建两个摄像头,还是上面的代码有问题?
答案 0 :(得分:0)
在上面发布的代码之后,我的渲染中有camera.update()
。
关键在于每个阶段都将相机存储在自身并调用更新:
public void draw () {
Camera camera = viewport.getCamera();
camera.update();
}
所以当我们这样做时,我们不需要手动调用更新:
stage.getViewport().setCamera(camera);
相机正在更新两次。