2

所以我在我的游戏中使用了libgdx的舞台类,到目前为止,我在舞台上添加了一个演员,它只是为屏幕绘制背景,我遇到的问题是当我移动舞台的相机来模拟屏幕滚动时(背景图像大于屏幕)相机不会移动。现在让我发疯的是,当我在桌面启动器上运行时它确实可以工作,但是每当我在手机上运行它时它就不会滚动。我真的不知道可能是什么问题。我随后调用了移动相机的方法,因为每当它被调用并且它确实被调用时,我都会将该方法的名称记录到日志猫中。此外,我什至记录了相机的位置,它会发生变化,但前提是我在桌面上运行,如果我在手机上运行,​​它会记录相同的位置。我不 不知道这是否是一个错误,因为我认为它仅适用于桌面启动器很奇怪,并且是的,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();

   }
4

1 回答 1

5

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

于 2012-09-22T01:10:50.273 回答