这次不是直接讲解下去,而是谈一下如何把我们写的游戏做成一个exe文件,这样一来,用户不需要安装python就可以玩了。扫清了游戏发布一大障碍啊!
perl,python,java等编程语言,非常好用,语法优美,功能强大;VB啥的,功能上编写的时候总有那么点不舒服的地方(个人见解),可是用户和受众极多,一个很大的原因就是:VB是微软提供的,可以很方便的编译(伪?)生成exe文件。有了exe,所有的Windows都能方便的使用了。
我们不能指望用户在玩我们的游戏之前都安装一个python和pygame,甚至还要装一些其他额外的库(比如上一章的gameobjects),这会吓退99%以上的人……所以把我们的游戏打包(注意是打包而不是编译,python毕竟是脚本程序)成一个可执行文件势在必行。
今天是父亲节啊,祝天下父亲快乐平安~
perl有perlcc(免费高效但配置极其复杂),perlapp(简单效果也不错但是收费)等工具;而对python来说,py2exe是不二之选,首先是免费的,而且压出来的文件,虽然不能和编译软件相比,还是不错的了。
到py2exe的官方网站下载安装包,注意要对应自己的python版本。
py2exe是需要写一个脚本进行打包的操作,使用下面这个专为pygame写就的脚本(参考py2exe官方),可以极大的方便打包操作,注意在使用前修改BuildExe里的各个参数。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 | #!python# -*- coding: gb2312 -*- # 这个脚本专为pygame优化,使用py2exe打包代码和资源至dist目录## 使用中若有问题,可以留言至:# //eyehere.net/2011/python-pygame-novice-professional-py2exe/## 安装需求:# python, pygame, py2exe 都应该装上 # 使用方法:# 1: 修改此文件,指定需要打包的.py和对应数据# 2: python pygame2exe.py# 3: 在dist文件夹中,enjoy it~ try: from distutils.core import setup import py2exe, pygame from modulefinder import Module import glob, fnmatch import sys, os, shutilexcept ImportError, message: raise SystemExit, \”Sorry, you must install py2exe, pygame. %s\” % message # 这个函数是用来判断DLL是否是系统提供的(是的话就不用打包)origIsSystemDLL = py2exe.build_exe.isSystemDLLdef isSystemDLL(pathname): # 需要hack一下,freetype和ogg的dll并不是系统DLL if os.path.basename(pathname).lower() in (\”libfreetype-6.dll\”, \”libogg-0.dll\”, \”sdl_ttf.dll\”): return 0 return origIsSystemDLL(pathname)# 把Hack过的函数重新写回去py2exe.build_exe.isSystemDLL = isSystemDLL # 这个新的类也是一个Hack,使得pygame的默认字体会被拷贝class pygame2exe(py2exe.build_exe.py2exe): exe(py2exe.build_exe.py2exe): 地方(个人见解),可是用户和受众极多,一个很大的原因就是:VB是微软提供的,可以很方便的编译(伪?)生成exe文件。有了exe,所有的Windows都能方便的使用了。
我们不能指望用户在玩我们的游戏之前都安装一个python和pygame,甚至还要装一些其他额外的库(比如上一章的gameobjects),这会吓退99%以上的人……所以把我们的游戏打包(注意是打包而不是编译,python毕竟是脚本程序)成一个可执行文件势在必行。 今天是父亲节啊,祝天下父亲快乐平安~ perl有perlcc(免费高效但配置极其复杂),perlapp(简单效果也不错但是收费)等工具;而对python来说,py2exe是不二之选,首先是免费的,而且压出来的文件,虽然不能和编译软件相比,还是不错的了。 到py2exe的官方网站下载安装包,注意要对应自己的python版本。 py2exe是需要写一个脚本进行打包的操作,使用下面这个专为pygame写就的脚本(参考py2exe官方),可以极大的方便打包操作,注意在使用前修改BuildExe里的各个参数。
|
下一篇:Python的计数方式发展史