pygame做的著名游戏_pygame制作植物大战僵尸day_1

pygame可以做很多游戏, 那我们今天就来做一下植物大战僵尸把。

300cc4ef0e1fd86a4f1aa90007b61c4a.png

游戏一定是在一个窗口中进行的, 所以我们第一步要创建一个窗口。

我们先创建一个用来控制游戏状态的类。

import pygame

background = pygame.image.load("backpic.png")

class GameState(object):
    def __init__(self):
        #初始化游戏
        pygame.display.init()
        #创建一个大小为871, 650的窗口
        GameState.window = pygame.display.set_mode((871, 650))
        #修改窗口标题
        pygame.display.set_caption("Plant vs Zomb")
    def start_game(self):
        #开始游戏
        screen = pygame.display.set_mode((871, 650))
        #窗口显示背景图片
        screen.blit(background, (0 ,0))

class InGame(object):
    def main():
        game = GameState()
        game.start_game()

        while True:
            #如果事件等于点击关闭, 窗口就关闭
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
            
            pygame.display.update()

if __name__ == '__main__':
    InGame.main()

上面那张图片, 就是代码中的backpic.png 运行之后显示

16e4131740bb3cf3eacbc268a35e4542.png

这样, 我们第一步绘制窗口就完成了。

下面, 我们想让他一边运行, 一边放音乐。

新建一个Music类, 用来播放音乐。

class Music(object):
    def __init__(self):
        #初始化音乐
        pygame.mixer.init()
    def bgm(self):
        pygame.mixer.music.load("theme.ogg")
        #播放音乐, -1循环播放
        pygame.mixer.music.play(-1)

这样, 我们音乐类就写好了。在网上找个音乐,就能播放, 要是播放不了, 可能跟格式有关系, 我这MP3格式就放不了, 改成了OGG

再往代码中游戏部分插入

music = Music()
music.bgm()

就搞定了。

import pygame

background = pygame.image.load("backpic.png")

class GameState(object):
    def __init__(self):
        #初始化游戏
        pygame.display.init()
        #创建一个大小为871, 650的窗口
        GameState.window = pygame.display.set_mode((871, 650))
        #修改窗口标题
        pygame.display.set_caption("Plant vs Zomb")
    def start_game(self):
        #开始游戏
        screen = pygame.display.set_mode((871, 650))
        #窗口显示背景图片
        screen.blit(background, (0 ,0))

#音乐类
class Music(object):
    def __init__(self):
        #初始化音乐
        pygame.mixer.init()
    def bgm(self):
        pygame.mixer.music.load("theme.ogg")
        #播放音乐, -1循环播放
        pygame.mixer.music.play(-1)


class InGame(object):
    def main():
        game = GameState()
        game.start_game()
        music = Music()
        music.bgm()

        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
            
            pygame.display.update()

if __name__ == '__main__':
    InGame.main()

这样就能变成一个打开放bgm的植物大战僵尸图片了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值