首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

飞机大战正确方法,利用Python开发一个全自动版来实现自动打飞机

今天来跟大家分享一下用Python自动打飞机的心得。啊呸!是用Python开发打飞机小游戏且实现全自动打飞机,需要资料的话可以给我发私信回复01,后台会自动发送!

框架的搭建安装框架包pygamepipinstallpygame搜索图片资源虽然有教程,但是太单调了。本来想搜索雷霆战机来着,不过有点难找,所以下载的全民飞机大战的素材包,不过好像这个素材包和教程里的不同,教程里的都是一个一个的,素材包里都是乱七八糟的一堆图片,估计还需要额外学习。

plist文件相关本来在网上找到一个可以直接根据plist文件分割大图的py,但是我执行下来一直报错,经过我不断的搜索,最后发现可能是由于我下载的plist是加密的,所以。。。(mmp)编写相应代码

最尴尬的是在whileTrue之后突然发现弹出来的窗口关不掉了,教程在vi模式中编写,直接Ctrl+c就可以关掉了,而我是在Sublime里面写的,Ctrl+c不行,百度一波杀死进程的方法使用xkill命令才关掉了。图有点长了,整的蛋疼,怎么才能显示全呢,大概只显示了三分之二的长度,也不能拉动边框。思路学习学习如何定义一个背景屏幕,以及如何显示一个图片。检测键盘代码:

思路学习一下怎么来检测键盘飞机的显示和移动由于plist的原因,卡了贼久,默默去下ps,心塞塞。。。。只能先显示个飞机大阵了(不只是飞机大阵,还有黑背景,先拿教程的图来用用)只有教程里的gif没有黑背景,有点尴尬哈。。。关于飞机显示的努力一直不想用教程里的图,便想办法自己从大图里面扣

ps里的.gif还好图片还是比较好扣的,但是不知道为啥移到程序里的图一直有黑底,贼烦,百度一波说应该存gif格式的,这样才能透明,可是在ps里没找到gif格式。然后百度说选那个存为web格式的才有gif格式。

存储后到程序中显示,虽然周围透明了,但是为啥图片内偏白的地方也透明了???

我还以为我抠图扣错了,又试了几遍,还是不行(╯‵′)╯︵┴─┴png

那就是把扩展名删掉,然而不幸的是拿到系统里的图片还是不知道为什么挂了,但是共享文件夹里的文件还是好的。

另外好像去掉后缀之后即使再加上后缀也不影响显示了,我本来是想截个无法打开的png图的,但是加上后缀后依然可以打开,而且就是把它删掉再扔进来一个新的依然可以显示,这算什么?突如其来的开窍吗?

思路飞机类定义一、创建一个飞机类二、各种属性1、本身的图片相关,如图片路径,图片尺寸。

2、用于显示图片的屏幕相关,背景屏幕是谁,背景屏幕的尺寸(由于我将屏幕也定义了一个类,所以只传一个参数)

3、以及初始显示位置。x,y坐标,具体数值由背景屏幕尺寸及图片尺寸决定。

4、其它,待添加。三、各种方法1、显示飞机

2、移动飞机

3、其它,待添加飞机类显示1、创建一个实例并应用、将显示飞机方法放到屏幕显示中、将移动飞机的方法与按键命令相结合可以攻击的飞机即显示我方子弹及我方子弹移动思路子弹类定义

全部子弹显示及移动

tips:列表删除相关

这种删除列表中的方法是不正确的,当要删除的两个变量相邻时便会出错。例::

原因嘛~

教程中给的是方法一,自己写的方法二,不清楚会有什么后果(数据地址改变?)。显示敌机及移动

相关代码:

看上去有些蠢,但是感觉也不太好化简了。敌机子弹显示及自动攻击

抽取基类可以看到有许多代码都是重复的,将基类抽取出来,化简代码一些小心得类内的变量上网搜索方法

最后:

呵呵

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180710A13G0B00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券