2009-09-07 48 views
0

我试图学习pygame,并且我找到了完成游戏(假设安装了python 2.6和pygame)的最佳方式,就是有一个运行它的applescript,并保存为应用程序捆绑(在捆绑内部使用python文件等)。这是我有:Applescript - pygame,应用程序包

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代码使用相对路径来获取其图像文件夹。文件目录是我的python文件所在的位置,以及子目录如“图像”。我认为像这样的应用程序文件比单独的.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来设置和导出python的$ PATH(它在安装python时自动添加到.bash_profile中)。

一个问题是脚本应用程序包在运行时没有响应,但Python应用程序没有问题。我怎样才能使脚本应用程序包获取python去,然后退出,并离开自己的python?我不能只将pygame模块放入捆绑包中?它只有〜9MB。

回答

1

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

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

或类似的,以避免笨重的CD ;-)。

+0

感谢相关目录提示,现在使用它。 pyinstaller如何更好,那么我已经做了什么? – mk12 2009-09-07 08:03:23

+0

@ Mk12,你也问过捆绑pygame。 – 2009-09-07 15:43:34

+0

我实际上最终使用* py2app *。 – mk12 2009-10-30 16:21:29