《Python飞机大战》项目实战_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1nw411Y75L/
# ----------窗口相关操作-----------
# 创建窗口
scene = pygame.display.set_mode([屏幕宽,屏幕高])
# 设置窗口标题
pygame.display.set_caption("标题")
# 设置窗口图标
pygame.display.set_icon(image)
# 将图片绘制到窗口
scene.blit(image, (0, 0))
# ----------图像相关操作-----------
# 加载图片
image = pygame.image.load("图片路径")
# 获得图片矩形 -> Rect(x, y, width, height)
rect = image.get_rect()
# 移动矩形坐标
rect.move_ip(x, y)
# 判断两个矩形是否相交 -> bool
flag = pygame.Rect.colliderect(rect1,rect2)
# ----------事件相关操作-----------
# 获得所有事件列表
event_list = pygame.event.get()
# 常见事件类型
# QUIT 关闭窗口
# MOUSEMOTION 鼠标拖动
# KEYDOWN 键盘按键
# 获得当前所有持续按键 bools_tuple
bool_list = pygame.key.get_pressed()
# ----------音效相关操作-----------
# 加载背景音乐
pygame.mixer.music.load("./res/bg2.ogg")
# 播放背景音乐,-1表示循环播放
pygame.mixer.music.play(-1)
# 加载音效
self.bomb = pygame.mixer.Sound("./res/baozha.ogg")
# 播放音效
pygame.mixer.Sound.play(self.bomb)
以上为我们制作游戏大战所需要用到pygame中的接口。我们使用这些接口中的部分接口编写一些学习案例:
import pygame
import time
# 创建窗口对象
# 该窗口用于绘制游戏中的元素,例如地图,飞机,子弹,炸弹等等
scene = pygame.display.set_mode([512, 768])
# 在场景中绘制一张图片
# 首先,加载图片
background = pygame.image.load("res/img_bg_level_2.jpg")
# 如果我们想让窗口一直显示,那么程序就不能结束执行,所以我们用while循环
# 在循环中我们就做两个操作,绘制背景图片,刷新背景图片
# 这时运行程序,窗口可能不能点击,没关系,我们循环中并没有处理任何事件
while True:
# 其次,将图片绘制到窗口上,参数第一个表示绘制的图片,第二个参数表示将图片
# 从窗口的那个坐标开始绘制,默认我们从左上角开始绘制
scene.blit(background, (0, 0))
# 刷新窗口
pygame.display.update()
效果如下:
其他函数大家可自行尝试下,事件部分函数可参照官网,如果还不清楚怎么用,我们在后期部分文章中再详细介绍如何使用。