• 大小: 4.95MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-27
  • 语言: Python
  • 标签: 打飞机  

资源简介

新手入门简易的打飞机\飞机大战工程源码,需安装python3.5、pycharm、pygame(pycharm内安装)。

资源截图

代码片段和文件信息

import pygame
from pygame.locals import*
import random
#是指游戏屏幕带下
SCREEN_WIDTH=480
SCREEN_HEIGHT=800
#子弹类
class Bullet(pygame.sprite.Sprite):
    def __init__(selfbullet_imginit_pos):
        pygame.sprite.Sprite.__init__(self)
        self.image =bullet_img
        self.rect =self.image.get_rect()
        self.rect.midbottom =init_pos
        self.speed =10

    def move(self):
        self.rect.top -= self.speed

#2定义一个飞机类
class Player(pygame.sprite.Sprite):
    def __init__(selfplane_imgplayer_rectinit_pos):
        pygame.sprite.Sprite.__init__(self)
        self.image =[]
        for i in range(len(player_rect)):
            self.image.append(plane_img.subsurface(player_rect[i]).convert_alpha())
        self.bullets = pygame.sprite.Group()
        self.rect =player_rect[0]#为图片的矩形初始化赋值
        self.rect.topleft=init_pos#初始化位置
        self.speed=10#初始化飞机的速度
        self.img_index=1#初始化图片的索引  1代表第二张图片
        #发射子弹前提是没被击中
        self.is_hit =False
#4.发射子弹
    def shoot(selfbullet_img):
        bullet =Bullet(bullet_imgself.rect.midtop)
        self.bullets.add(bullet)
    def moveUp(self):
        if self.rect.top <= 0:  # rect.top<=0  飞机不能出去
            self.rect.top = 0
        else:
            self.rect.top -= self.speed  # 飞机距离上边的位置 等于飞机距离x轴-速度

    def moveDown(self):
        if self.rect.top >= SCREEN_HEIGHT - self.rect.height:  # 屏幕的高度-飞机的高度
            self.rect.top = SCREEN_HEIGHT - self.rect.height
        else:
            self.rect.top += self.speed  # 高度-速度

    def moveLeft(self):
        if self.rect.left <= 0:
            self.rect.left = 0
        else:
            self.rect.left -= self.speed

    def moveRight(self):
        if self.rect.left >= SCREEN_WIDTH - self.rect.width:
            self.rect.left = SCREEN_WIDTH - self.rect.width
        else:
            self.rect.left += self.speed
#敌机类
class Enemy(pygame.sprite.Sprite):
    def __init__(selfenemy_imgenemy_down_imgsinit_pos):
        pygame.sprite.Sprite.__init__(self)
        self.image =enemy_img
        self.rect=self.image.get_rect()
        self.rect.topleft =init_pos
        self.down_imgs =enemy_down_imgs
        self.speed=2
        self.down_index=0

    def move(self):
        self.rect.top += self.speed
#初始化pygame
pygame.mixer.init()
pygame.init()




#设计游戏界面像素第一个参数是分辨率  宽480 高800    第二个是标志位   三是色深
#返回值Surface对象   位图的一种
screen=pygame.display.set_mode((SCREEN_WIDTHSCREEN_HEIGHT))

#设计游戏的标题
pygame.display.set_caption(“飞机大战“)



#背景音乐
# pygame.mixer.music.load(“resources/sound/bullet.mp3“)
# pygame.mixer.music.play()
# pygame.mixer.music.load(“resources/sound/background.mp3“)
# pygame.mixer.music.play()

pygame.mixer.music.load(“resources/sound/background.mp3“)
pygame.mixer.music.set_volume(0.2)
pygame.mixer.music.play(-1)

# bullet_sound = pygame.mixer.Sound(“resources/sound/surface.mp3“)
# bullet_sound.set_volume(0.2)






#背景图设计
backgroun

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         257  2018-05-15 09:45  .idea\misc.xml
     文件         262  2018-05-15 09:44  .idea\modules.xml
     文件         398  2018-05-15 09:45  .idea\plane.iml
     文件       28958  2018-05-17 15:22  .idea\workspace.xml
     文件        9431  2018-05-16 16:39  03.py
     文件        1679  2018-04-26 14:14  resources\font\font.fnt
     文件        5193  2018-04-26 14:14  resources\font\font.png
     文件       33518  2018-04-26 14:14  resources\image\background.png
     文件       20682  2018-04-26 14:14  resources\image\gameover.png
     文件       18193  2018-05-16 14:56  resources\image\mieba.png
     文件        3624  2018-04-26 14:14  resources\image\shoot.pack
     文件      463797  2018-04-26 14:14  resources\image\shoot.png
     文件         847  2018-04-26 14:14  resources\image\shoot_background.pack
     文件       92377  2018-04-26 14:14  resources\image\shoot_background.png
     文件       93112  2018-05-16 15:14  resources\sound\1.wav
     文件     2936907  2018-05-16 14:18  resources\sound\background.mp3
     文件      311024  2018-05-16 15:46  resources\sound\bullet.wav
     文件       17070  2018-05-16 15:47  resources\sound\bullet2.wav
     文件       20734  2018-05-16 15:49  resources\sound\bullet3.wav
     文件     1357021  2018-05-16 14:19  resources\sound\surface.mp3

评论

共有 条评论