libGDX阶段没有响应,新的完整白度,视口无法正常工作

时间:2014-06-29 04:31:50

标签: java opengl libgdx actor scene2d

我一直在libGDX中创建一个项目并从v0.9.9开始,我只是得到了一个mac以便在ios上获取它,并在经过一系列计算出新的libGDX和robovm更新和称重选项之后(通过各种试验和错误)我将不得不更新所有新的libgdx 1.2.0结构(gradle等)。这附带了视口的添加,并搞砸了舞台的工作方式。在我的构造函数中,我将首先创建一个orthograhiccamera和stage,即:

camera = new OrthographicCamera(854, 480); 
stage = new Stage();

我无法弄清楚如何将相机纳入新代码,因为我知道某个地方我需要为舞台创建一个视口,但我不知道我的相机需要如何使用它。显示的只是一个白色的屏幕。现在经过多次摆弄我如何随机制作的视口,相机和舞台设置,我实际上得到它显示主菜单按钮,但在空白时应该有3个移动背景(它产生一个很酷的paralax效果...并随之移动标题。这可能是libGDX现在如何使用openGL 2.0而不是1.0?这些按钮演员也完全没有响应,点击时应该动画,更改屏幕,输出到控制台但不做任何事情。我一直把舞台作为show方法中的输入处理器设置,并添加我的所有演员,即:

@Override
public void show() {
    Gdx.input.setInputProcessor(stage);
    stage.addActor(variousActors);

}

白度是不是可以处理图像而不是显示白色?这可能是因为没有内存(在20mb的可用内存或8gb可用之前从来没有问题),可能是因为使用的图像太大(最大的是3840 x 1080)?我的渲染是:

public void render(float delta) {
    Gdx.gl.glClearColor(1F, 1F, 1F, 1F);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(camera.combined);
    camera.update();

    stage.act(delta);
    batch.begin();

    batch.end();    
    stage.draw();
    System.out.println("menuscreen rendering");

}

- 所有actor /元素都在构造函数

中初始化

我的整个游戏实际上是由场景2d元素构建的 - 实际上确实运行得很好:) - 所以让这个工作意味着整个游戏。我一直在寻找很多,没有找到解决方案。所以在审查中,我如何正确使用带有舞台的视口,以及如何使用它设置我的相机;为什么我的舞台/演员(按钮)没有反应;除了我的按钮之外,为什么一切都显示为完全白度?

1 个答案:

答案 0 :(得分:2)

尝试以这种方式创建舞台:

camera = new OrthographicCamera(854, 480);
viewport = new ScalingViewport(Scaling.stretch, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), camera);
viewport.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), true);
stage = new Stage(viewport, batch);

您不必使用ScalingViewport。检查https://github.com/libgdx/libgdx/wiki/Viewports是否有其他可能性。

resize(int, int)中,如前所述,请尝试:

viewport.update(width, height, true);