libgdx为什么舞台相机不动?

时间:2012-09-22 00:57:27

标签: android camera libgdx

所以我在我的游戏中使用了libgdx的舞台类到目前为止我在舞台上添加了一个演员,它只是为屏幕绘制了背景,我遇到的问题是当我移动舞台的相机来模拟滚动时屏幕(背景图像大于屏幕)相机不会移动。现在让我疯狂的是,当我在台式机启动器上运行时它会工作,但每当我在手机上运行它时它就不会滚动。我真的不知道会出现什么问题。我随后调用了移动摄像机的方法,因为每当调用它时,我都会将方法的名称记录到日志中,并且它会被调用。此外,我甚至记录了相机的位置并且它发生了变化,但只有当我在桌面上运行时,如果我在手机上运行它会记录相同的位置。我不知道这是不是一个bug因为我觉得很奇怪,它只能在桌面启动器上运行,是的,android启动器和桌面启动器都是使用相同的ApplicationListener实例初始化的。有什么建议?提前谢谢。

以下是简化代码:

public void Create()
{
GameStage = new Stage(2000, 2000, true);

GameCamera = new OrthographicCamera(2000, 2000);
GameCamera.setToOrtho(true, 2000, 2000);

GameStage.setCamera(GameCamera);
GameStage.setViewport(2000, 2000, true);
}

public void MoveCamera()//it gets called when user drags across the screen
{
GameStage.getCamera().translate(x, y, 0);
GameStage.getCamera().update();
}


public void render()
   {
      //the background actor has been added at this point

      Gdx.gl.glClearColor(0, 0, 0, 1);
      Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

      GameStage.act(Gdx.graphics.getDeltaTime());
        GameStage.draw();

   }

1 个答案:

答案 0 :(得分:5)

我刚刚意识到这确实是我的其他功能中没有更新相机位置的问题,所以它与libgdx无关抱歉我希望我可以删除这个问题,很奇怪它正在处理桌面虽然。