飞机大战

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.button
1 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()
请注意这个只是开始界面,图片请自行更改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值