libGDX阶段不响应,新的全白,视窗不工作



我一直在做一个项目在libGDX和v0.9.9开始,我刚刚得到了一个mac为了得到它在ios上,经过一系列的计算出新的libGDX和robovm更新和权衡选项(通过各种试验和错误),我将不得不更新一切到新的libGDX 1.2.0结构(gradle等)。这伴随着视口的添加,并破坏了阶段的工作方式。最初在我的构造函数中,我将首先创建一个正交摄像机和舞台,即:

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

我不知道如何将相机纳入新代码,因为我知道我需要在某个地方为舞台创建一个视口,但我不确定我的相机需要如何使用它。所有显示出来的只是一个白色的屏幕。现在,在反复摆弄我如何随机制作视口,相机和舞台设置后,我实际上得到了它来显示主菜单按钮,但在空白时,应该有3个移动背景(这使一个很酷的视差效果……)和移动标题。这可能是libGDX现在使用openGL 2.0而不是1.0的原因吗?这些按钮角色也完全没有响应,它们应该在点击时显示动画,改变屏幕,并输出到控制台,但不做任何事情。在show方法中,我总是将舞台作为输入处理器设置,并添加所有的演员,例如:

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

白色可能是开放的,不能处理图像,而是显示白色?这可能是因为缺乏ram(以前无论是在20mb可用ram还是8gb可用ram上都不是问题),可能是使用的图像太大(最大的是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");
}

——所有角色/元素都在构造函数

中初始化

我的整个游戏实际上是由场景2d元素构建而成的——它确实运行得很好:)——所以让它运行意味着整个游戏。我四处找了很多,但没有找到解决办法。所以在审查中,我如何正确地使用viewport与阶段,我如何设置我的相机与它;为什么我的舞台/演员(按钮)没有反应;为什么除了我的纽扣,所有的东西都是白色的?

尝试这样创建舞台:

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);

相关内容

最新更新