import pygame
import sys,math
#开始界面:
属性:背景、标题、按钮、音乐
方法:显示
开始界面类
属性 图片,屏幕
方法 显示
开始界面的图片
#开始界面的图片
startImgs=[
pygame.image.load(“plane/image/background.png”),
pygame.image.load(“plane/image/name.png”),
pygame.transform.scale(pygame.image.load(“plane/image/loading.png”),(480,480)),
pygame.image.load(“plane/image/icon72x72.png”)
]
#开始界面底部的图
startBtmImgs=[
pygame.image.load(“plane/image/game_loading1.png”),
pygame.image.load(“plane\image/game_loading2.png”),
pygame.image.load(“plane/image/game_loading3.png”)
]
class StartPanel:
# 检测鼠标是否在按钮上
isIn=False
def __init__(self,screen,imgs=startImgs,btmImgs=startBtmImgs):
self.screen=screen
self.imgs=imgs
self.btmImgs=btmImgs
# sin变量
self.sin_y=0
# 底部动画变量
self.btmIndex=0
self.btmAdd=0 #累加变量,控制播放速度
def Show(self):
# 背景imgs列表中的图片
self.screen.blit(self.imgs[0],(0,0))
# 标题
self.screen.blit(self.imgs[2],(0,100))
# 背景中的东西
self.screen.blit(self.imgs[1],(25,100+50*math.sin(self.sin_y)))
self.sin_y+0.05
if self.sin_y>=100:
self.sin_y=0
# 按钮
x=self.screen.blit(self.imgs[3], (204, 300))
temp=x.collidepoint(pygame.mouse.get_pos())
StartPanel.isIn=temp
# 底部三个图
self.screen.blit(self.btmImgs[self.btmIndex],(150,580))
self.btmAdd+=1
if self.btmAdd==20:
self.btmIndex+=1
self.btmAdd=0
if self.btmIndex==3:
self.btmIndex=0
游戏界面
结束界面
*************美丽分割线
pygame.init()
屏幕
screen=pygame.display.set_mode((480,700))
产生开始界面对象
startObj=StartPanel(screen)
背景音乐
pygame.mixer.music.load(“plane/sound/game_music.mp3”)
pygame.mixer.music.play(-1)
游戏是否开始
isplay=False
事件监测方法
def AllEvent():
global isplay
# 事件
for event in pygame.event.get():
# 退出
if event.typepygame.QUIT:
pygame.quit()
sys.exit()
# 鼠标
if event.type == pygame.MOUSEBUTTONDOWN:
if event.button1 and StartPanel.isIn==1:
isplay=True
def Main():
while True:
AllEvent()
if isplay:
# 游戏
screen.fill(pygame.Color("blue"))
else:
# 开始界面
startObj.Show()
# 更新画面
pygame.display.update()
if name==‘main’:
Main()
请注意这个只是开始界面,图片请自行更改