持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情
这篇文章主要介绍了利用Python编写一个经典小游戏flppy bird(飞翔的小鸟),感兴趣的小伙伴可以跟随小编一起学习一下
首先看一下效果图
本篇文章分为三部分,这一部分主要讲创建游戏窗口和相关素材文件(图片以及音频)的导入
首先创建一个py文件,随便命名一下 然后导入需要的库
这里我们需要使用pygame库(可通过pip命令安装),random库以及os库
import os
import pygame
import random
复制代码
接着完成窗口的创建
W,H = 288,512
FPS = 30
#窗口设置
pygame.init() #初始化pygame模块
SCREEN = pygame.display.set_mode((W,H))
pygame.display.set_caption('飞翔的小鸟')
CLOCK = pygame.time.Clock()
复制代码
WH为窗口的宽和高,帧数设置为30
然后初始化pygame模块,对窗口进行命名
接着导入素材
IMAGES = {}
for image in os.listdir('assets/sprites'):
name,extension = os.path.splitext(image)
path = os.path.join('assets/sprites',image)
IMAGES[name] = pygame.image.load(path)
FLOOR_Y = H - IMAGES['floor'].get_height()
AUDIO = {}
for audio in os.listdir('assets/audio'):
name,extension = os.path.splitext(audio)
path = os.path.join('assets/audio',audio)
AUDIO[name] = pygame.mixer.Sound(path)
复制代码
这里将图片和音频分别作为字典,然后使用os库的listdir方法将我们的素材遍历
后续方便我们查找以及添加素材
在图片和音频的导入中间,我们计算了窗口与地板素材的高度差(方便后续使用)
def main():
menu_window()
result = game_window()
end_window(result)
复制代码
接着我们再定义一个主函数,将我们的小游戏分为三个窗口(开始菜单、游戏窗口、结束窗口) 方便我们后续分别进行编写设计
最后,赋上一个小实验,验证我们窗口创建成功与否以及素材是否导入成功
while True:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
bird = pygame.transform.flip(bird,True,False)
color = (random.randint(0,255),random.randint(0,255),random.randint(0,255))
SCREEN.fill(color)
SCREEN.blit(bird,(150,250))
pygame.display.update()
#time.sleep(0.1)
CLOCK.tick(10)
复制代码
创建窗口,导入素材即可运行