【问题标题】:SerializationException reading json fileSerializationException 读取 json 文件
【发布时间】:2014-03-31 08:04:08
【问题描述】:

我正在尝试为我的游戏创建皮肤。我得到以下异常:

com.badlogic.gdx.utils.SerializationException:读取文件时出错:images/uiskin.json。

这是代码:

private void rebuildStage () {
    skinOkomfo = new Skin(
        Gdx.files.internal(“images/oapacker-ui.json”),
        new TextureAtlas(“images/uiskin.atlas”)
    );

    skinLibgdx = new Skin(
        Gdx.files.internal(“images/uiskin.json”),
        new TextureAtlas(”images/uiskin.atlas”)
    );

    // build all layers

    Table layerBackground = buildBackgroundLayer();
    Table layerObjects = buildObjectsLayer();
    Table layerLogos = buildLogosLayer();
    Table layerControls = buildControlsLayer();
    Table layerOptionsWindow = buildOptionsWindowLayer();

    // assemble stage for menu screen

    stage.clear();

    Stack stack = new Stack();

    stage.addActor(stack);

    stack.setSize(Constants.VIEWPORT_GUI_WIDTH,

    Constants.VIEWPORT_GUI_HEIGHT);

    stack.add(layerBackground);
    stack.add(layerObjects);
    stack.add(layerLogos);
    stack.add(layerControls);
    stage.addActor(layerOptionsWindow);

}

这是uiskin.json文件

    {
       com.badlogic.gdx.graphics.g2d.BitmapFont:{
          default-font:{
             file:default.fnt
          }
       },
       com.badlogic.gdx.graphics.Color:{
          green:{
             a:1,
             b:0,
             g:1,
             r:0
          },
          white:{
             a:1,
             b:1,
             g:1,
             r:1
          },
          red:{
             a:1,
             b:0,
             g:0,
             r:1
          },
          black:{
             a:1,
             b:0,
             g:0,
             r:0
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.Skin$TintedDrawable:{
          dialogDim:{
             name:white,
             color:{
                r:0,
                g:0,
                b:0,
                a:0.45
             }
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.Button$ButtonStyle:{
          default:{
             down:default-round-down,
             up:default-round
          },
          toggle:{
             down:default-round-down,
             checked:default-round-down,
             up:default-round
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle:{
          default:{
             down:default-round-down,
             up:default-round,
             font:default-font,
             fontColor:white
          },
          toggle:{
             down:default-round-down,
             up:default-round,
             checked:default-round-down,
             font:default-font,
             fontColor:white,
             downFontColor:red
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle:{
          default:{
             vScroll:default-scroll,
             hScrollKnob:default-round-large,
             background:default-rect,
             hScroll:default-scroll,
             vScrollKnob:default-round-large
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.SelectBox$SelectBoxStyle:{
          default:{
             font:default-font,
             fontColor:white,
             background:default-select,
             scrollStyle:default,
             listStyle:{
                font:default-font,
                selection:default-select-selection
             }
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.SplitPane$SplitPaneStyle:{
          default-vertical:{
             handle:default-splitpane-vertical
          },
          default-horizontal:{
             handle:default-splitpane
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle:{
          default:{
             titleFont:default-font,
             background:default-window,
             titleFontColor:white
          },
          dialog:{
             titleFont:default-font,
             background:default-window,
             titleFontColor:white,
             stageBackground:dialogDim
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.Slider$SliderStyle:{
          default-horizontal:{
             background:default-slider,
             knob:default-slider-knob
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle:{
          default:{
             font:default-font,
             fontColor:white
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle:{
          default:{
             selection:selection,
             background:textfield,
             font:default-font,
             fontColor:white,
             cursor:cursor
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle:{
          default:{
             checkboxOn:check-on,
             checkboxOff:check-off,
             font:default-font,
             fontColor:white
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle:{
          default:{
             fontColorUnselected:white,
             selection:selection,
             fontColorSelected:white,
             font:default-font
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.Touchpad$TouchpadStyle:{
          default:{
             background:default-pane,
             knob:default-round-large
          }
       },
       com.badlogic.gdx.scenes.scene2d.ui.Tree$TreeStyle:{
          default:{
             minus:tree-minus,
             plus:tree-plus,
             selection:default-select-selection
          }
       }
    }

【问题讨论】:

  • 欢迎来到 SO!我们无法从这么多的代码中看出太多,尤其是如果我们没有问题的 JSON。
  • 您的 JSON 文件的内容似乎不是有效的 JSON。尝试通过这个 fromatter jsonformatter.curiousconcept.com 运行它

标签: json libgdx


【解决方案1】:

我一直在反对这一点。您可以在 uiskin.json 文件中看到它们是“默认滚动”值,但如果您转到 uiskin.atlas,则没有为“默认滚动”定义任何内容。我认为这是错误的根源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    相关资源
    最近更新 更多