赞
踩
python 飞机大战搞怪版本
(飞机为迷你亚索,外星人为迷你小诺手,由于时间关系和图片素材较难寻找,仅仅做了简易版,没有贴上背景图片。由于篇幅原因,对于函数讲解较为简略,可以自行搜索相应函数的用法)
主要利用pygame内置库进行图形化处理
主要游戏界面如下:知乎视频www.zhihu.com
基础操作:导入pygame模块首先利用screen=pygame.display.set_mode()创建一个pygame游戏窗口,参数为(width,height)
然后使用pygame.display.set_caption(),参数为你想要设置的游戏名的字符串,例如:“飞机大战”
找到图片素材,并将其绘制到屏幕上,在此需使用blit()函数将其绘制到窗口上,例如:之前的窗口为screen,则screen.blit(image,rect),其中image为需要绘制到屏幕上的图像,rect为绘制的位置的矩形,需要在之前通过pygame.Rect进行创建rect,并且设置好rect的位置。
对于屏幕上的字体,在pygame中字体的显示都是通过将字体转换为图形,然后用blit()函数绘制,首先设置字体font=pygame.font.Font(NONE,48),其中none指的是文字的字体,48指文字的大小,然后通过render函数进行转换为图形,例如,image=font.render(text,TRUE,font_color,bg_color),其中text是文字的内容,同样是字符串;TRUE指的是文字的锯齿开关;font_color是文字颜色的RGB值,bg_color为绘制处的背景颜色的RGB值,然后将image通过blit绘制出来就可以
设置主循环,对于游戏的运行,刚才所设置的所有运行后只会出现一瞬间,所以必须要将其放在while TRUE:的主循环中不停循环才能维持游戏界面
关于爆炸效果的制作,任何看起来连续的图片其实都是一帧帧图片快速播放,因为人眼的视觉停留看起来才连续,所以对于爆炸效果,只需要在子弹与外星人发生碰撞时,在外星人的位置,以一定的速度依次绘制爆炸图片就可以了;
爆炸图片如下:
以上是基础操作
主文件代码如下:
这只是主文件的代码,由于代码导入了其他文件的函数,所以无法整成运行,
具体的操作可以通过代码来看,由于代码放在多个文件中,不便全部复制粘贴到这里,以免导致代码无法运行,完整的代码及图片素材都存放在GitHub或gitee码云上,想要看的朋友可以访问,这是我的网址:
Github
Gitee
最后,如果觉得写的还可以,请点个赞,顺便GitHub给个star吧,球球各位老板了( ^ – ^ !)(> –
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。