资源简介
新手入门简易的打飞机\飞机大战工程源码,需安装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.xm
文件 262 2018-05-15 09:44 .idea\modules.xm
文件 398 2018-05-15 09:45 .idea\plane.iml
文件 28958 2018-05-17 15:22 .idea\workspace.xm
文件 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
评论
共有 条评论