首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从LibGdx导出GWT HTML显示: GwtApplication: exception:(TypeError)

问从LibGdx导出GWT HTML显示: GwtApplication: exception:(TypeError)
EN

Stack Overflow用户
提问于 2018-12-10 20:38:42
回答 1查看 182关注 0票数 1

我有一个与LibGdx版本1.9.9开发的安卓游戏,我试图导出在超文本标记语言。我使用的是GWT (V-2.8.2)。这款游戏在Android上运行良好,没有任何问题。当通过运行这个命令./gradlew html:dist导出游戏时,我没有得到任何错误。

但当我将导出的库放入本地主机并尝试访问游戏时,首先出现默认加载程序,然后出现一个空白屏幕,显示以下错误消息:

GwtApplication: exception: (TypeError) : null is not an object (evaluating 'null.zY') (TypeError) : null is not an object (evaluating 'null.zY')

这在所有浏览器中都会发生-- Safari、Chrome、Firefox。

堆栈跟踪没有显示任何重要的调试位置。

你知道问题出在哪里吗?谢谢。

HTML Gradle:

代码语言:javascript
复制
gwt {
    gwtVersion='2.8.0' // Should match the gwt version used for building the gwt backend
    maxHeapSize="2G" // Default 256m is not enough for gwt compiler. GWT is HUNGRY
    minHeapSize="1G"

    src = files(file("src/")) // Needs to be in front of "modules" below.
    modules 'com.package.gamename.GdxDefinition'
    devModules 'com.package.gamename.GdxDefinitionSuperdev'
    project.webAppDirName = 'webapp'

    compiler {
        strict = true;
        disableCastChecking = true;
    }
}

import org.wisepersist.gradle.plugins.gwt.GwtSuperDev

def HttpFileServer server = null
def httpFilePort = 8080

task startHttpServer () {
    dependsOn draftCompileGwt

    String output = project.buildDir.path + "/gwt/draftOut"

    doLast {
        copy {
            from "webapp"
            into output
        }

        copy {
            from "war"
            into output
        }

        server = new SimpleHttpFileServerFactory().start(new File(output), httpFilePort)

        println "Server started in directory " + server.getContentRoot() + ", http://localhost:" + server.getPort()
    }
}

task superDev (type: GwtSuperDev) {
    dependsOn startHttpServer
    doFirst {
        gwt.modules = gwt.devModules
    }
}


task dist(dependsOn: [clean, compileGwt]) {
    doLast {
        file("build/dist").mkdirs()
        copy {
            from "build/gwt/out"
            into "build/dist"
        }
        copy {
            from "webapp"
            into "build/dist"
            }
        copy {
            from "war"
            into "build/dist"
        }
    }
}

task addSource {
    doLast {
        sourceSets.main.compileClasspath += files(project(':core').sourceSets.main.allJava.srcDirs)
    }
}

tasks.compileGwt.dependsOn(addSource)
tasks.draftCompileGwt.dependsOn(addSource)

sourceCompatibility = 1.6
sourceSets.main.java.srcDirs = [ "src/" ]


eclipse.project {
    name = appName + "-html"
}

​

​

EN

回答 1

Stack Overflow用户

发布于 2018-12-10 23:55:31

进入superdev模式,激活源码映射和调试,在Chrome中单步执行源码,这就是发现这些问题的方法。

  • 从superdev参数
  • 开始打开游戏网页
  • 点击左上角的箭头按钮
  • 点击“编译”按钮
  • 源代码地图现已在Chrome中提供,您将看到“真正的”堆栈跟踪。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53705827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档