《太空大战》游戏

欢迎加入我们卧虎藏龙的python讨论qq群:729683466

导语

以前讲过一些简单的小游戏

比如贪吃蛇,推箱子

今天讲一个酷炫的彩图游戏

《太空大战》

玩法和飞机大战差不多

按键盘的上下左右

移动飞船躲避陨石

空格键发射子弹

尽可能多的用子弹击毁陨石

相关资源

代码获取

1:关注“python趣味爱好者”公众号,回复“ game50”获取源代码

2:加入群聊:729683466。在群文件中下载源代码以及相关资料。

 效果展示 ·

ss

 开发工具 ·

python3.6.4

第三方库:pygame,random,os

往期推荐 ·

国庆节画一面《五星红旗》

python画一朵“玫瑰”

 讲解部分 ·

与我们之前讲过的普通贪吃蛇,飞机大战,推箱子不同。这个《太空大战》游戏更加复杂,需要载入各种图片,声响。而我们之前讲过的游戏,都是由简单的集合图形直接构造的,非常简单。

所以在这一篇文章中,我们重点学习一些如何载入各种素材。

一:游戏素材的准备

在开始编写代码前,我们需要先准备一些素材,主要就是声响素材以及图片素材。

声响素材就是下面的样子

飞船发射子弹的声响,击中陨石的声响,以及飞船被陨石击中的声响等。我们把这些声响打包放在一个sounds文件夹里面。编写代码时随时调用这些声响即可。

图片素材是这样的。

相比之下,图片素材更加直观,就是各种形状的陨石图片,飞船的图片,以及飞船发射的子弹的图片。还有更为重要的。就是子弹爆炸的整个过程,这是一个连帧变化的图片组。只有这些图片组按顺序切换,才能达到爆炸的效果。

二:载入各种素材

首先我们看看如何载入音响,以及如何使用这些声音,我们用到的是pygame里面的载入音响的函数。

menu_song = pygame.mixer.music.load(path.join(sound_folder, "menu.ogg"))

其中的sound_folder是之前定义的声响的路径。menu.ogg是声响的文件名。

载入以后,用pygame里面专门播放背景音乐的函数播放。

pygame.mixer.music.play(-1)

载入图片的方法也类似。比如说我们要载入背景图片。也就是用下面的这个代码。

background = pygame.image.load(path.join(img_dir, 'starfield.png')).convert()

pygame.image.load就是专门载入图片的代码。

载入图片后,我们可以用get_rect获取图片的像素点坐标。

background_rect = background.get_rect()

最后,我们看看如何载入各种大小不一的陨石,首先我们要用一个列表,将所有的陨石的名称全部放在列表里面。

下面这些就是各种大小不一的陨石。

陨石名称的列表如下

需要产生这些陨石的时候,我们直接载入陨石图片即可,如果要多生成一些大陨石,可以用random设置生成随机数。增加大陨石生成的比例。

扫二维码|关注我们

QQ群:729683466

参考来源

@Author: tasdik

作者:caolezuishuai

参考链接:https://github.com/caolezuishuai/space

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值