python及pygame雷霆战机游戏项目实战系列教程
文章平均质量分 66
python及pygame雷霆战机游戏项目实战系列教程
豆约翰
致力于帮助每一个对编程感兴趣的朋友掌握编程,一起体会编程的乐趣。微信号:tiantiancode
展开
-
python及pygame雷霆战机游戏项目实战11 玩家多条命
项目详细介绍项目详细介绍在这个系列中,将制作一个雷霆战机游戏。玩家爆炸将使用不同的爆炸动画来制作玩家的死亡。只需像其他爆炸那样加载那些帧。现在加载代码如下所示:explosion_anim = {}explosion_anim['lg'] = []explosion_anim['sm'] = []explosion_anim['player'] = []for i in range(9): filename = 'regularExplosion0{}.png'.format(原创 2021-11-15 18:15:42 · 3424 阅读 · 0 评论 -
python及pygame雷霆战机游戏项目实战10 爆炸效果
项目详细介绍项目详细介绍在这个系列中,将制作一个雷霆战机游戏。自动开火首先,让对玩家射击方式做一点改动。只要空格键被按下,让自动发射子弹。为此,将向Player添加两个新属性:self.shoot_delay = 250self.last_shot = pygame.time.get_ticks()shoot_delay将测量飞船在发射另一颗子弹之前应该等待的时间长度(以毫秒为单位)。last_shot将跟踪最后一颗子弹射击的时间,以便知道何时有足够的时间再次射击。现在将把开火key(原创 2021-11-15 18:14:34 · 1437 阅读 · 1 评论 -
python及pygame雷霆战机游戏项目实战09 玩家飞机添加血条
项目详细介绍项目详细介绍在这个系列中,将制作一个雷霆战机游戏。添加血条现在,玩家被一次敌机击中后摧毁。这不是很有趣,所以要为玩家添加一个属性shield,数值类型,范围0 - 100。class Player(pygame.sprite.Sprite): def __init__(self): self.speedx = 0 self.shield = 100现在,每次玩家被流星击中时,都可以从血条中减去一点。当血条达到0时,玩家将被摧毁。为了让事情更原创 2021-11-15 18:14:02 · 1092 阅读 · 0 评论 -
python及pygame雷霆战机游戏项目实战08 声音和音乐
项目详细介绍项目详细介绍在这个系列中,将制作一个雷霆战机游戏。声音的力量对于游戏,需要一个“射击”声音和一个“爆炸”声音。创建一个“snd”文件夹(就像为图像所做的那样)并将WAV文件放在那里。expl3.wavexpl6.wavpew.wav请注意,有两种爆炸声。这样,可以在它们之间随机选择,让流星爆炸中有一点变化。最后,需要一些背景音乐。tgfcoder为游戏添加声音将声音添加到游戏中。需要指定声音文件夹的位置:# Frozen Jam by tgfcoder <原创 2021-11-15 18:13:38 · 265 阅读 · 0 评论 -
python及pygame雷霆战机游戏项目实战07 得分与绘制文本
项目详细介绍项目详细介绍在这个系列中,将制作一个雷霆战机游戏。保持分数跟踪玩家的得分非常简单:只需要一个变量,将其初始化为0,并在每次子弹摧毁敌机时添加。由于有不同大小的敌机,而大型流星比小型敌机更容易击中,因此击中更小的敌机获得更多的得分。将在游戏循环之前初始化score变量:for i in range(8): m = Mob() all_sprites.add(m) mobs.add(m)score = 0# Game looprunning = True原创 2021-11-13 18:07:03 · 2473 阅读 · 0 评论 -
python及pygame雷霆战机游戏项目实战06 更多类型的敌机
项目详细介绍项目详细介绍在这个系列中,将制作一个雷霆战机游戏。随机敌机图像为使敌机更有趣而做的一件事是使用不同尺寸的敌机。首先,将加载所有敌机图像并将它们放入列表中:meteor_images = []meteor_list =['meteorBrown_big1.png','meteorBrown_med1.png', 'meteorBrown_med1.png','meteorBrown_med3.png', 'meteorBrow原创 2021-11-13 18:06:34 · 1388 阅读 · 0 评论 -
python及pygame雷霆战机游戏项目实战05 改进的碰撞
项目详细介绍项目详细介绍在这个系列中,将制作一个雷霆战机游戏。碰撞发生了什么?Pygame中的默认碰撞类型是使用collide_rect()函数,该函数使用两个精灵的rect属性来计算它们是否重叠。这称为AABB碰撞,它非常快速和可靠。但是,如果精灵图像不是矩形,那么就会出现如图所示的情况。矩形重叠,那么collide_rect()就是True,但是玩家会感到沮丧,因为他们觉得自己应该已经成功地躲过流星(还差点才碰到一起)。如果发现处于这种情况,可以尝试以下几种方法:通过使用collide原创 2021-11-13 18:06:00 · 1768 阅读 · 0 评论 -
python及pygame雷霆战机游戏项目实战04 添加图形
项目详细介绍项目详细介绍在这个系列中,将制作一个雷霆战机游戏。加载图片from os import pathimg_dir = path.join(path.dirname(__file__), 'image')绘制背景从加载背景图像开始。在现有的游戏循环和初始化代码之前完成所有资源加载:# Load all game graphicsbackground = pygame.image.load(path.join(img_dir, 'img_bg_level_2.jpg')).co原创 2021-11-12 11:58:45 · 1149 阅读 · 0 评论 -
python及pygame雷霆战机游戏项目实战03 碰撞检测
在这个系列中,将制作一个雷霆战机游戏。碰撞碰撞是游戏开发的基本部分。 碰撞检测意味着您要检测游戏世界中的一个对象是否正在触碰另一个对象。 碰撞反应决定了碰撞发生时你想要做什么 - 马里奥拿起硬币,子弹伤害敌人等等。边框请记住,Pygame中的每个sprite都有一个rect属性定义其坐标及其大小。rect在Pygame的对象格式为[x, y, width, height],其中x和y表示矩形的左上角。为了检测碰撞,需要查看rect玩家的角色并将其与rect每个怪物进行比较。现原创 2021-11-12 11:26:25 · 1377 阅读 · 0 评论 -
python及pygame雷霆战机游戏项目实战02 敌人精灵
在这个系列中,将制作一个雷霆战机游戏。敌人精灵首先定义Mob(小怪物)类型:class Mob(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.image = pygame.Surface((30, 40)) self.image.fill(RED) self.rect = self.image.get_rec原创 2021-11-12 11:24:08 · 1074 阅读 · 0 评论 -
python及pygame雷霆战机游戏项目实战01 控制飞机
入门在这个系列中,将制作一个雷霆战机游戏。首先,将游戏设置修改一下:WIDTH = 480HEIGHT = 600FPS = 60玩家精灵要添加的第一件事是代表玩家的精灵。最终,这将是一艘雷霆战机。但是当你第一次开始时,忽略图形会更简单,只需对所有精灵使用普通矩形。class Player(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) s原创 2021-11-07 19:37:35 · 1657 阅读 · 0 评论