【问题标题】:How to create desktop python game application in Ubuntu 16.04?如何在 Ubuntu 16.04 中创建桌面 python 游戏应用程序?
【发布时间】:2017-12-07 09:51:13
【问题描述】:

我使用 pygame 模块编写了一个 Python 游戏。它从终端运行良好。

我有一个游戏目录(我们称之为 myGame),其中包含所有资源(图像和声音)以及所有使用这些资源的 python 脚本。

当我通过终端运行游戏时(比如 python3 mainPythonModule.py),游戏运行良好。

我尝试创建一个 game.desktop 文件。但是当我点击它时,会出现一个黑色窗口并且几乎立即崩溃。

我使用的是 Ubuntu 16.04 LTS。我的游戏是用python3.5编写的,使用pygame模块。

我的 game.desktop 文件看起来像 this

我不希望为 this question 回答解决方案,因为我仍然需要输入终端。

我想创建一个桌面应用程序,以便通过单击图标启动游戏。 就像我们下载任何游戏一样,安装后,我们只需单击游戏图标即可运行,我想要这样的东西。我该怎么做?

编辑: 我不认为这个问题可能与this question 重复。 我想知道如何在 Ubuntu 16.04 中开发一个桌面应用程序,这样通过点击某个图标,游戏就会开始。

最终编辑: 首先,我要感谢所有回复的人。真的很抱歉浪费了您宝贵的时间。

问题已解决。问题是所有资源(图像和声音)都是通过相对路径而不是通过绝对路径加载的。现在 game.desktop 文件运行良好。

【问题讨论】:

  • 这可能会有所帮助:stackoverflow.com/questions/3957717/…
  • 要走的路就是按照他们说的做,在第一行添加shebang并使其可执行。或者,如果您在运行程序之前需要更多准备,请编写一个调用 Python 解释器或类似内容的 shell 脚本。然后,创建调用它的.desktop 文件。有很多应用程序可以做到这些。如果它不适合你,也许你可以提供更多关于你所拥有的和你所看到的行为的细节。
  • 在game.desktop 你必须使用python文件的完整路径。如果它加载一些图像,那么在代码中你必须使用sys.argv[0] 获取包含图像的文件夹的完整路径并在加载文件时使用它。如果没有这个,它会在您运行game.desktop 时搜索文件夹中的图像 - 即。它可以是主文件夹或桌面文件夹。

标签: python pygame ubuntu-16.04


【解决方案1】:

我认为你想要做的是某种启动器。

这里有我的 repo,它包含一个 Tkinter GUI,按钮上有一个 PyGame 调用。

随意学习/使用它,查看文件desktop_application.py,如果你不关心硬币部分,你可以跳过它并拿走你需要的东西。

https://github.com/FilippoLeone/PyGameLauncher

您可以使用 PyInstaller 将所有内容编译为可执行文件。

从 PyPI 安装 PyInstaller:

pip install pyinstaller

进入你的程序目录并运行:

pyinstaller yourprogram.py

【讨论】:

  • 我还没有完成整个代码,但我想我仍然需要从终端运行 desktop_application.py。我想要某种图标,当我们单击它时,它会运行应用程序。我不想与终端有任何关系。就像我们下载任何游戏一样,安装后,我们只需单击游戏图标即可运行,我想要这样的东西。谢谢
  • 您可以像我一样轻松地将该程序编译成可执行文件,然后您可以使用自己的图标创建符号链接以使其对用户友好。我建议您使用 PyInstaller,因为它易于使用,并且在我的 repo 上也进行了测试。
  • 这是在 Ubuntu 17 上编译的样子 i.imgur.com/tmFUJL9.png 其中 app 是您的启动器/游戏可执行文件。
  • 我按照你说的做了,但是一点击启动器我的程序就崩溃了。当我创建一个 .desktop 文件时也发生了同样的事情。你能帮帮我吗?
  • 请提供更多详细信息,您最终使用了什么以及如何使用。通过这种方式,我们可以为您提供额外的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-19
  • 2019-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多