【问题标题】:Can't run more than one LibGDX game不能运行多个 LibGDX 游戏
【发布时间】:2021-04-25 21:35:52
【问题描述】:

我用 LibGDX 库开发了一款游戏。 我在项目中使用套接字编程库作为模块。

我计划让我的 LibGDX 游戏的每个进程都成为我服务器的客户端。 我把它组织起来了。

但我一次不能运行多个游戏来测试多人游戏功能。 当我第一次运行游戏时,一切正常,但第二次单击运行时,任何东西都会运行,直到第一个实例关闭。

我认为这是因为 Gradle。

我尝试从 Gradle 设置中更改“使用 IntelliJ Idea 构建和运行”,但这次我遇到了异常。它无法读取我的资产文件。

我该如何解决这个问题?

enter image description here

【问题讨论】:

  • 你使用什么运行/调试配置?
  • 你可以从上图中看到我的配置。
  • 如果您从工具栏运行(调试)图标而不是从运行任何弹出窗口启动运行配置,它是否有效?
  • 不,第二个任务将在队列中等待第一个项目完成。那是因为 Gradle。当我停止第一个进程时,第二个进程将运行。

标签: gradle intellij-idea libgdx game-development


【解决方案1】:

同样的问题。桌面应用程序启动,但 gradle 构建永远不会结束,所有后续构建都必须等到我退出应用程序或停止 gradle 构建过程。

在应用程序运行配置中设置“允许多个实例”选项没有帮助。

使用“desktop:run”进行 gradle 配置具有相同的效果,而“允许并行运行”没有帮助。

这在 Android Studio 更新到版本“Arctic Fox 2020.3.1”之后开始

在几个终端窗口中使用“./gradlew desktop:run”从命令行开始可以工作,但是很费力。


使用临时解决方案更新(直到错误修复):

创建一个 JAR-Application 运行配置。使用 Gradle 任务“desktop:dist”在“启动前”部分构建 jar,并指向“JAR 路径”中的 jar。

提示:

  • 您可以放心地忽略图片中的所有“xmas”字符串 :)

  • “XstartOnFirstThread”仅在 Mac OS 上是必需的。

  • 在最近的一些“intellij/android studio”版本中,有一个错误会破坏“desktop:dist”,解决方案是在 desktop/build.gradle 中包含“duplicatesStrategy = DuplicatesStrategy.INCLUDE”:

     task dist(type: Jar) {
     manifest {
         attributes 'Main-Class': project.mainClassName
     }
     dependsOn configurations.runtimeClasspath
    
     duplicatesStrategy = DuplicatesStrategy.INCLUDE
    
     from {
         configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
     }
     with jar
    

    }

【讨论】:

    【解决方案2】:

    在运行/调试配置中启用允许多个实例选项:

    【讨论】:

    • 在运行/调试配置中,我已经勾选了“允许并行运行”。但我看不到“允许多个实例”。
    【解决方案3】:

    我已经用 Gradle 命令解决了。

    ./gradlew desktop:run

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多