我在游戏中的选项菜单中使用了表格布局。
但是,当我启动屏幕时,只有一个黑屏。
见自己:

package com.me.mygdxgame;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.CheckBox;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;

public class BlueToothOptionScreen implements Screen{

    final Stage stage;
    Skin skin;
    boolean hote = false;
    Table table;

    public BlueToothOptionScreen() {
        System.out.println("Option screen, commencement de l'initialisation");
        this.stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getWidth(), true);
        FileHandle skinFile1 = Gdx.files.internal("uiskin.json");
        skin = new Skin(skinFile1);
    }

    @Override
    public void render(float delta) {

        stage.act(delta);
        Gdx.gl.glClear( GL20.GL_COLOR_BUFFER_BIT );

        stage.draw();
        Table.drawDebug(stage);
    }

    @Override
    public void resize(int width, int height) {
        stage.setViewport(width, height, true);
    }

    @Override
    public void show() {

        Gdx.input.setInputProcessor( stage );

        table = new Table(skin);
        stage.addActor(table);
        table.setFillParent(true);
        table.defaults().spaceBottom(30);
        table.add("Options").colspan(3);

        final CheckBox hoteCheckBox = new CheckBox( "", skin );
        hoteCheckBox.setChecked(true);
        hoteCheckBox.addListener(new ChangeListener() {
            @Override
            public void changed(
                ChangeEvent event,
                Actor actor )
            {
                boolean enabled = hoteCheckBox.isChecked();
                hote = enabled;
            }
        } );
        table.row();
        table.add("Hote");
        table.add(hoteCheckBox);
        System.out.println("prout");


    }


}


如果您能帮助我,我会很高兴。
如果您还需要其他任何方式来了解问题,请询问我。

最佳答案

您的问题可能出在皮肤上。

尝试用图像替换表格,如果可以的话,问题肯定出在皮肤上。
在这种情况下,请考虑使用来自libgdx测试的正确(经过测试的)皮肤。

确保至少有5个文件uiskin.json,uiskin.atlas,uiskin.png,default.fnt,default.png(最后两个对应于字体)。

祝好运。

09-28 09:35