为什么我在创建对话框时会遇到此异常?

时间:2014-11-17 17:07:04

标签: java android json libgdx scene2d

我正在尝试在我的Libgdx游戏中创建一个对话框,我收到此错误:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException:      com.badlogic.gdx.utils.GdxRuntimeException: No com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle registered with name: default"

这是我的json文件的一部分:

com.badlogic.gdx.scenes.scene2d.ui.ProgressBar$ProgressBarStyle: {

default-horizontal: { background: default-slider, knob: default-slider-knob },

default-vertical: { background: default-slider, knob: default-round-large }
}

1 个答案:

答案 0 :(得分:2)

您的json文件中定义了一些样式,但您没有定义默认样式。你也发布了ProgressBar的样式,而不是Window。

定义样式时,您需要始终定义名称为default的样式。如果在创建窗口时没有传递样式名称参数,则会选择此样式。

要修复您的json,您可以添加名称为default的样式,或者只将一个现有样式重命名为default。请参阅json uiskin example

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 }
},

有关详细信息,请查看libgdx skins wiki