【发布时间】: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 文件运行良好。
【问题讨论】:
-
要走的路就是按照他们说的做,在第一行添加shebang并使其可执行。或者,如果您在运行程序之前需要更多准备,请编写一个调用 Python 解释器或类似内容的 shell 脚本。然后,创建调用它的
.desktop文件。有很多应用程序可以做到这些。如果它不适合你,也许你可以提供更多关于你所拥有的和你所看到的行为的细节。 -
在
game.desktop你必须使用python文件的完整路径。如果它加载一些图像,那么在代码中你必须使用sys.argv[0]获取包含图像的文件夹的完整路径并在加载文件时使用它。如果没有这个,它会在您运行game.desktop时搜索文件夹中的图像 - 即。它可以是主文件夹或桌面文件夹。
标签: python pygame ubuntu-16.04