? ? ? 今天發現了一個好玩的小項目,做的就是坦克大戰的,看到它的一瞬間讓我想起了小時候泡在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運行的截圖,如下所示:
? ? ? 總體的視覺感覺還是不錯的,最后一張圖片是我專門截下來的,可以看到,黃色坦克是我方坦克,我自己摧毀了“老巢”后,游戲卻沒有終止,還在繼續,這應該是作者最初設計時沒有考慮完全把,講到這里我今天的實踐就結束了,在這里還是要先感謝一下原作者,畢竟源碼是他開發了,我只是做了一個小小的打包操作。
? ? ? ?最后,上傳一下我打包得到的游戲包,感興趣的可以下載下來玩玩,歡迎交流!
? ? ? ?游戲包地址在這里,歡迎下載!
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
