Python+pygame模块实现飞机大战小游戏超详细

本文详细介绍了如何利用Python的Pygame库开发一款飞机大战小游戏,涵盖初始设置、游戏循环和退出程序的实现,并提供了游戏的主要模块plane_main.py和plane_sprites.py的结构,以及游戏所需的素材图片,包括背景、飞机、子弹等。欢迎大家在评论区交流讨论。
摘要由CSDN通过智能技术生成

飞机大战

pygame的简单使用

我们在使用Pygame设计一款游戏或动画的时候,需要包括三个部分:
一、初始设置
首先需要导入模块,创建游戏屏幕,然后初始化一些重要的变量
二、游戏循环
游戏循环使用while循环,使游戏持续更新屏幕和处理事件,除非用户退出程序,否则就会一直执行
三、退出程序
当用户想要停止程序的时候,使用一种方式来结束程序

实现思路

在目录下创建两个模块分别命名为plane_main.py主模块以及plane_sprites.py游戏精灵模块,并在主模块中导入游戏精灵模块。在主模块中创建飞机大战主游戏类PlaneGame,在游戏精灵模块创建主精灵类以及敌机类、子弹类、主飞机类继承主精灵类。

plane_main.py

# -*- coding:utf-8 -*-
# Python修炼者:段誉

# 开发时间:2021/12/4 19:41
import  pygame
from plane_sprites import *
SCREEN_RECT=pygame.Rect(0,0,480,700)
FRAME_PRE_SEC=60

class PlaneGame(object):
    '''飞机大战主游戏'''
    def __init__(self):
        print('游戏初始化')
        #1.创建游戏窗口
        self.screen=pygame.display.set_mode(SCREEN_RECT.size)
        #2.创建时钟对象
        self.clock=pygame.time.Clock()
        #3.调用私有方法精灵和精灵组的创建
        self.__create_sprites()
        #4.设置定时器事件 -创建敌机
        pygame.time.set_timer(CREATE_ENEMY_EVENT,1000)#set_timer(定时器常量,间隔时间)
        pygame.time.set_timer(BULLET_FIRE_EVENT,500)
        pygame.mixer.init()  # 声音初始化
        pygame.display.set_caption("飞机大战")  # 设置游戏窗口标题栏文字

    def __create_sprites(self):
        #创建两个背景精灵
        bg_sprites1=Background(False)
        bg_sprites2=Background(True)
        #创建背景精灵组
        self.back_group=pygame.sprite.Group(bg_sprites1,bg_sprites2)
        #创建敌机的精灵组
        self.enemy_group=pygame.sprite.Group()
        #创建战斗机精灵
        self.fighter=Fighter()
        #创建战斗机精灵组
        self.fighter_group=pygame.sprite.Group(self.fighter)

    def startgame(self):
        print('游戏开始')
        while True:
            #1.设置刷新帧率
            self.clock.tick(FRAME_PRE_SEC)
            #2.事件监听
            self.__event_hander()
            #3.碰撞检测
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值