编程语言
首页 > 编程语言> > python自学-飞机大战的简单实现(附带相关音频图片资料)

python自学-飞机大战的简单实现(附带相关音频图片资料)

作者:互联网

飞机大战音频图片资料包(百度网盘)

链接:https://pan.baidu.com/s/1MY_oHjB5vr-5oAWMeLnTWQ

提取码:txm0

1.创建游戏窗口

import pygame
screen=pygame.display.set_mode((800,600),0,32)  #创建一个游戏窗体
while True:
    pygame.display.update()  #消息循环,更新消息

在这里插入图片描述

2.载入背景

import pygame
screen=pygame.display.set_mode((480,650),0,32)  #创建一个游戏窗体
#bk=pygame.image.load("D:\\Python代码\\class28\\images\\background.png").convert()  #载入文件图片到内存
bk=pygame.image.load("images\\background.png").convert()#相对路径

while True:
    screen.blit(bk,(0,0))#(0,0)表示窗体位置
    pygame.display.update()  #消息循环,更新消息

在这里插入图片描述
3.处理消息
主要是绑定键盘消息,控制飞机移动

import pygame
import pygame.locals
screen=pygame.display.set_mode((480,650),0,32)  #创建一个游戏窗体
#bk=pygame.image.load("D:\\Python代码\\class28\\images\\background.png").convert()  #载入文件图片到内存
bk=pygame.image.load("images\\background.png").convert()#相对路径

while True:
    screen.blit(bk,(0,0))#(0,0)表示窗体位置

    for event in pygame.event.get(): #抓取每一个事件
        if event.type==pygame.locals.QUIT: #退出关闭
            print("exit")
            exit()
        elif event.type==pygame.locals.KEYDOWN: #处理键盘消息
            if event.key==pygame.locals.K_k:
                print("K")
            elif event.key==pygame.locals.K_SPACE:
                print("SPACE")
    pygame.display.update()  #消息循环,更新消息

4.载入飞机

import pygame
import pygame.locals
screen=pygame.display.set_mode((480,650),0,32)  #创建一个游戏窗体
#bk=pygame.image.load("D:\\Python代码\\class28\\images\\background.png").convert()  #载入文件图片到内存
bk=pygame.image.load("images\\background.png").convert()#相对路径
plane=pygame.image.load("images\\me1.png").convert_alpha()#alpha可以消除背景

x=0
y=0

while True:
    screen.blit(bk,(0,0))#(0,0)表示窗体位置
    screen.blit(plane,(x,y))
    for event in pygame.event.get(): #抓取每一个事件
        if event.type==pygame.locals.QUIT: #退出关闭
            print("exit")
            exit()
        elif event.type==pygame.locals.KEYDOWN: #处理键盘消息
            if event.key==pygame.locals.K_w:
                if y-10>=0:
                    y-=10
            elif event.key==pygame.locals.K_s:
                if y+10<=530:
                    y+=10
            elif event.key==pygame.locals.K_a:
                if x-10>=0:
                    x-=10
            elif event.key==pygame.locals.K_d:
                if x+10<=370:
                    x+=10
    pygame.display.update()  #消息循环,更新消息

在这里插入图片描述
5.载入背景音乐

import pygame
import pygame.midi
import pygame.locals

pygame.init() #初始化
pygame.mixer.init()  #初始化用于播放音乐
bg_size=width,heigth=480,650  #设置窗体大小
screen=pygame.display.set_mode(bg_size)
pygame.display.set_caption("飞机大战")

bk=pygame.image.load(r"..\images\background.png").convert()#载入图片相对路径

pygame.mixer.music.load(r"..\sound\飞机大战多人联机版_爱给网_aigei_com\声音\游戏的音乐.mp3") #载入音乐
pygame.mixer.music.set_volume(0.2)  #播放速度
pygame.mixer.music.play(-1)  #循环播放-1死循环
while True:
    screen.blit(bk,(0,0))#(0,0)表示窗体位置
    pygame.display.update()  #消息循环,更新消息

    for event in pygame.event.get(): #抓取每一个事件
        if event.type==pygame.locals.QUIT: #退出关闭
            print("exit")
            exit()

上面就是实现的基础知识了,理解了这些基础知识,再按自己想法不断细化就可以得到想要的效果了

我的效果图如下:
在这里插入图片描述
最后:
在这里插入图片描述

标签:display,python,音频,bk,附带,pygame,screen,event,locals
来源: https://blog.csdn.net/weixin_46837674/article/details/114238699