Applescript - pygame,应用程序包

时间:2009-09-07 06:11:16

标签: python macos applescript pygame

我正在尝试学习pygame,我发现完成游戏的最佳方式(假设安装了python 2.6和pygame)是有一个运行它的AppleScript,并保存为应用程序包(使用python文件等)在束内)。这就是我所拥有的:

do shell script "cd " & the quoted form of the POSIX path of (path to me) & "Contents/Resources/files\n/usr/local/bin/pythonw creeps.py"

我需要cd命令,因为python代码使用相对路径来获取其images文件夹。 files目录是我的python文件所在的子目录,例如'images'。我认为像这样的应用程序文件比单独的.py文件要好得多,默认情况下可以打开任何东西。你认为这是捆绑python脚本的好方法吗?另外,我能不能将pygame与它捆绑在一起,而不是要求安装它?感谢。

此外,现在,脚本运行并且python也在运行,每个脚本都有自己的停靠图标。我可以这样做,以便脚本只执行并退出,让python运行?感谢。

我将脚本更改为:

do shell script ". ~/.bash_profile\npythonw2.6 " & the quoted form of the POSIX path of (path to me) & "Contents/Resources/files/creeps.py"

这样,它搜索路径而不是仅查找/ usr / local / bin。需要调用~/.bash_profile来设置和导出$ PATH for python(安装python时它会在.bash_profile中自动添加)。

问题是脚本应用程序包在运行时没有响应,但是Python应用程序没问题。如何使脚本应用程序包得到python,然后退出并自己离开python?我不能把pygame模块放在捆绑包中吗?它只有~9MB。

1 个答案:

答案 0 :(得分:1)

pyinstaller应该让你捆绑pygame(使用SVN版本:已发布的版本是WAY过时的)。另外,我建议您让代码更好地找到相关目录:

import os
resourcesdir = os.path.join(os.path.dirname(__file__), 'Resources')

之类的,以避免那个笨重的CD; - )。