java - 添加对话框时 libgdx 崩溃

标签 java android libgdx scene2d

嗯,我遇到了问题

我已经开始使用 libgdx 编写我的第一个游戏并创建了菜单 我正在尝试为“关于”按钮提供一个打开文本对话框的功能

但是当我添加代码时,游戏在运行时崩溃

谁能给我链接到制作文本对话框的指南吗?

因为我发现的一切都不适合我......

我找到并使用的代码:

new Dialog("Dialog", skin, "dialog") {
   protected void result (Object object) {

   }
}.text("texttexttext").button("Yes", true).button("No", false).key(Keys.ENTER, true)
   .key(Keys.ESCAPE, false).show(stage);

堆栈跟踪

    10-11 07:41:11.051    1716-1742/com.xxx.www.android E/AndroidRuntime﹕ FATAL EXCEPTION: GLThread 60
    Process: com.xxx.www.android, PID: 1716
    com.badlogic.gdx.utils.GdxRuntimeException: No com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle registered with name: dialog
            at com.badlogic.gdx.scenes.scene2d.ui.Skin.get(Skin.java:145)
            at com.badlogic.gdx.scenes.scene2d.ui.Dialog.<init>(Dialog.java:62)
            at com.xxx.www.MainMenu$2.<init>(MainMenu.java:104)
            at com.xxx.www.MainMenu.show(MainMenu.java:104)
            at com.badlogic.gdx.Game.setScreen(Game.java:61)
            at com.xxx.www.Splash$1.onEvent(Splash.java:72)
            at aurelienribon.tweenengine.BaseTween.callCallback(BaseTween.java:380)
            at aurelienribon.tweenengine.BaseTween.updateStep(BaseTween.java:521)
            at aurelienribon.tweenengine.BaseTween.update(BaseTween.java:424)
            at aurelienribon.tweenengine.TweenManager.update(TweenManager.java:166)
            at com.xxx.www.Splash.render(Splash.java:47)
            at com.badlogic.gdx.Game.render(Game.java:46)
            at com.xxx.www.MyGdxGame.render(MyGdxGame.java:26)
            at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:414)
            at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
            at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
10-11 07:41:15.411    1716-1716/com.xxx.www.android E/AndroidGraphics﹕ waiting for pause synchronization took too long; assuming deadlock and killing

最佳答案

根据您的代码和异常:

No com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle registered with name: dialog

您的 Skin.json 文件中需要有一个名为“dialog”的 WindowStyle:

com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle:
{
 dialog: { titleFont: <your-font>, titleFontColor: <your-font-color (optional)>, background: <your-background-drawable (optional)>},
}

关于java - 添加对话框时 libgdx 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26308018/

相关文章:

java - SOAP:如何在 Java 中调用 CountryInfoService WSDL 文件,例如使用 CapitalCity SOAP 操作

java - 从返回方法获取正确的打印输出

嵌套在字符类中的 Java 正则表达式预定义字符类

java - 使用有效 URL 在 HttpsUrlConnection 上重置连接

android - 为了许多有趣的论点Fragment.findNavController()

java - 跳跃速度增加 不知道为什么Libgdx

java - 如何在Scene2d中使用NinePatch图像而不是作为按钮?

jQuery Mobile 和 PhoneGap deviceReady() 未触发

android - 如何获取Android相机预览数据?

java - 如何在 libGDX 中显示 Admob 插页式广告