python—简单游戏制作(飞机大战)

1.开发软件
pycharm

编程软件
pygame

第三方库
sprite

sprite代表游戏中非背景的一个动图,比如人物、子弹、

Group

group代表多个sprite一组被同时管理,比如头、身、手、脚组合成一个大怪..

2.技术介绍

pycharm:PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于 支持Django框架下的专业Web开发

pygame:Python Pygame 是一款专门为开发和设计 2D 电子游戏而生的软件包,它支 Windows、Linux、Mac OS 等操作系统,具有良好的跨平台性。Pygame 由 Pete Shinners 于 2000 年开发而成,是一款免费、开源的的软件包,因此您可以放心地使用它来开发游戏, 它是免费的,是制作小游戏的不二首选。

Pygame 在 SDL(Simple DirectMedia Layer,使用 C语言编写的多媒体开发库) 的基础上开发而成,它提供了诸多操作模块,比如图像模块(image)、声音模块(mixer)、输入/输出(鼠标、键盘、显示屏)模块等。相比于开发 3D 游戏而言, Pygame 更擅长开发 2D 游戏,比如于 飞机大战、贪吃蛇、扫雷等游戏。

话不多说,开整

3.游戏制作——-(部分代码)

导入需要的第三方库,不管做什么先做一个一个基本规划,我管这个叫 重构。

import pygame, os
import time
import random
from pygame.sprite import Sprite
from pygame.sprite import Group

设置背景音乐(也可以自行调节)

def fire_music():
    pass
    # 设置开火音乐
    effect = pygame.mixer.Sound('sounds/fire.wav')
    pygame.mixer.Sound.play(effect)

总体游戏构造(需要提前准备好场景设置的图片音乐字体)

class Boss(Sprite):
    def __init__(self,boss_img_name):
        super().__init__()
        # 加载BOSS图片
        self.image = pygame.image.load('图片/'+boss_img_name+'.png').convert_alpha()
        # 转换BOSS大小
        # self.image = pygame.transform.scale(self.image, (1, 12))
        # 生成BOSS矩形框架
        self.rect = self.image.get_rect()
        self.blood = 1000
        # boss左右移动的速度
        self.speed = 3.5

    def move(self):
        if self.rect.centerx>=512:
            self.speed =-self.speed
        if self.rect.centerx<=0: self.speed="-self.speed" self.rect.centerx +="self.speed" class enemy(sprite): def __init__(self,screen): # 必须设置继承精灵 不然在使用精灵函数时会报错 super().__init__() 获取屏幕对象 self.screen="screen" 随机 生成5个编号 alien_num="random.randint(1,5)" 加载五个飞机中的某个 self.image="pygame.image.load('&#x56FE;&#x7247;/alien_'" str(alien_num) '.png') picture="pygame.transform.scale(picture," (1280, 720)) 获取飞机的 rect self.rect="self.image.get_rect()" 击落本机获得的分数 self.score="10" 加载子弹的图片 self.bullet_img="pygame.image.load("&#x56FE;&#x7247;/alien_bullet.png").convert_alpha()" (12, 12)) 以下为可以调节子弹尺寸的代码 #飞机的移动速度 #生成子弹精灵组合 self.bullets="Group()" 敌机射击频率 self.shoot_frequency="0</code"></=0:>

5.总体效果展示

python---简单游戏制作(飞机大战)

Original: https://blog.csdn.net/qq_44856617/article/details/128227693
Author: bug me
Title: python—简单游戏制作(飞机大战)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/782529/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球