今天发现了一个好玩的小项目,做的就是坦克大战的,看到它的一瞬间让我想起了小时候泡在4399网站里面的时光了,我果断下载下来跑了起来,做的还是可以的,这里的可以就是说视觉效果上的可以,至于具体内容细节什么还是有一些bug的,比如我自己摧毁“老窝”的时候居然没有游戏结束,等等。
既然项目别人已经做好了,我就不多做什么工作了,想着运行py脚本多麻烦,能够把游戏打包成为exe文件就好了,想到这里就开始着手进行游戏的打包工作,这里主要使用的是pyinstaller模块,这个模块是python中打包工作中很经典的一个模块了。
首先到这里下载一个软件的图标,这是我个人的习惯,比较喜欢一个漂亮的logo,不喜欢默认生成的统一的样式,网站首页也很萌,如下所示:
直接输入坦克或者tank搜索即可,结果页面如下:
我选中了红色方框中的坦克样式,觉得比较霸气。
接下来就要开始正式的打包了。
其实,pyinstaller打包操作是非常简单的,我经常使用的命令如下:
pyinstaller -F -i tank.ico tank.py
这样同时指定了图标和脚本,还可以使用下面的命令:
pyinstaller -F -w -i tank.ico tank.py
两条命令唯一的区别就是:在执行生成的exe文件的时候会不会出现CMD窗口,前者会出现,后者不会出现。
在这里友情提示一下:如果说你要打包的脚本里面有很多的配置文件信息或者是本地数据文件读取相关的操作,一定不要使用绝对路径,因为这样的话你打包生成的exe文件就只能在你那个目录下才会执行,这显然违背了我们打包为exe的初衷;另一方面打包操作成功结束后会在当前程序脚本的目录下出现两个文件夹,如下:
我们需要的exe文件就存放在dist文件夹中,但是此时dist文件夹下面是没有你所需要的本地数据文件的,需要把对应的数据文件复制进去才可以执行,我今天打包过程中频繁报错就是在这里出了问题,不过好在是及时发现解决了。
最后生成的软件如下:
接下来贴几张tank.exe运行的截图,如下所示:
总体的视觉感觉还是不错的,最后一张图片是我专门截下来的,可以看到,黄色坦克是我方坦克,我自己摧毁了“老巢”后,游戏却没有终止,还在继续,这应该是作者最初设计时没有考虑完全把,讲到这里我今天的实践就结束了,在这里还是要先感谢一下原作者,毕竟源码是他开发了,我只是做了一个小小的打包操作。
最后,上传一下我打包得到的游戏包,感兴趣的可以下载下来玩玩,欢迎交流!
游戏包地址在这里,欢迎下载!