python 飞机大战 添加音效 添加分数

本文介绍了一个使用Python编写的飞机大战游戏,详细展示了如何在游戏主文件`plane_main.py`中初始化背景音乐,创建敌机、英雄和子弹的精灵组,并实现了事件监听、碰撞检测和分数系统。通过监听键盘事件来控制飞机移动,当敌机被子弹击中时,增加分数并播放爆炸音效。游戏还包括背景滚屏、敌机更新、子弹更新等功能。
摘要由CSDN通过智能技术生成

plane_main.py  设置主文件

import pygame
from plane_sprites import*
from Background import BackGround
from Enemy import Enemy
from Hero import Hero
from time import sleep
from Bullet import Bullet

class Plane_main(object):
    def __init__(self):
        print('游戏初始化')
        self.screen = pygame.display.set_mode(SCREEN_RECT.size)
        self.clock = pygame.time.Clock()
        self.__create_sprites()
        

        pygame.time.set_timer(CREATE_ENEMY_EVENT,1000)
        pygame.time.set_timer(HERO_FIRE_EVENT, 500)
        self.count = 0
        self.score = 0
    def __create_sprites(self):
        # 背景组
        self.back_group = pygame.sprite.Group()
        bg1 = BackGround()
        bg2 = BackGround(True)
        pygame.mixer.init()
        pygame.mixer.music.load("./Capo Productions - Journey 00_00_00-00_00_59.ogg")
        pygame.mixer.music.play(-1)
        
        self.back_group.add(bg1,bg2)
        # 敌机组
        self.enemy_group = pygame.sprite.Group()
        #敌级销毁组
        self.enemy1_down_group=pygame.sprite.Group()
        # 英雄组
        self.hero_group = pygame.sprite.Group()
        self.hero = Hero()
        self.hero_group.add(self.hero)
    def start_game(self):
        pygame.init()
        print("开始游戏...")
        # pygame.mixer.init()
        # pygame.mixer.music.load("./Capo Productions - Journey 00_00_00-00_00_59.ogg")
        # pygame.mixer.music.play(-1)
        
        # gameIcon = pygame.image.load("./name.png")

        # pygame.display.set_icon(gameIcon)
        

        while True:
            
            
            self.count+=1
            # 1. 设置刷新帧率
            self.clock.tick(10)
            # 2. 事件监听
            self.__event_handler()
            
            # 3. 碰撞检测
            self.__check_collide()
            # 4. 更新精灵组
            self.__update_sprites()
            # 5. 更新屏幕显示

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值