粉丝26.5万获赞160.5万


挑战用拍粉制作植物大战僵尸第一期,本视频零基础小白也能听懂,你没有听错,今天校长手把手带你用拍粉制作植物大战僵尸。好的,我们上节课是完成了 植物大战僵尸的游戏的主界面啊,我们先来看一下上节课所完成的一个效果。 好的,那么这个游戏的主界面的窗口我们就已经完成了。但是这个窗口呢,有这么几个问题,第一个问题呢是他没有背景的音效, 第二个问题呢是他现在我们点这个插件他是关不掉的,对吧?那我们只能点这个拍叉里面的红色的暂停按钮,才可以关掉这个植物大战僵尸的这个主界面的游戏窗口,所以咱们先关掉一下。 那么本节课呢,我们来实现两个,第一个就是游戏主界面的一个背景音效,第二个啊,我们来设置一个,就是可以关闭主窗口逻辑的这么一个操作。好,那废话不多说呢,我们先创建一个文件啊,在植物大战僵尸这个文件里边,我们右键新建一个 python 文件, 这个 python 文件呢,我们叫做 music。 好 的,在 music 里边呢,首先第一步呢,我们还是先导入啊, p i game 这个游戏模块,第一步写完之后呢,那么接下来呢,我们来定义一个函数,定义函数, 那这个函数的作用是什么?它的作用啊,就是游戏主界面的背景音效,这个背景音效里面整个逻辑我们就放到这个函数里面来实现啊。来,咱们先定义这函数 d, e、 f 关键字开头,然后给函数起个名字啊,我们是主界面,对吧?还是闷又啊闷又下划线, music 括号,冒号回车在里边呢,咱们首先先找到我们要加载的一个背景音乐啊,找到我们要加载的背景音乐,这个方法非常简单,那就是 pygame drm 开头这个方法啊, m 开头这个方法 点 music, 点一个 load, 在 load 里边。来,咱们可以看一下我们的整个的素材,在素材这个第二个文件夹是 music, 来咱们选一下,在 music 里边呢,有一个音效,咱们看这个是 i n 开头的,咱们双击一下, 好, ok, 嗯,咱们找到这个这个音效之后呢,我们来找到它的路径啊,这个路径呢,咱们直接复制一下,复制下之后我们放到这个括号里边,放到引号里边,把这个路径放到引号里边之后呢,我们把这个 背景音乐的名字啊给它加进去,复制一下,好,放到后面 这行加载背景音乐代码咱们就搞定了。搞定完了之后呢,咱们因为这个背景音乐大家应该看到了啊, 它是一分钟左右,所以我们是需要循环播放的,所以咱们再加一个逻辑,就是循环播放啊,这个循环播放不用,我们定一个复循环,不用不用,我们定一个 real 循环,咱们就直接利用 pygame 里面它有一个方法, pygame d r 还是 m 开头, d r music, d r play, p l a y 啊 play, 那这里面有个负一啊,负一的意思呢?就是可以理解为循环播放或者是重复播放 啊,可以理解为这个意思。好了,那么这个函数的逻辑呢?我们就写完了,就两行代码,第一行是加载背景音乐,第二行是循环播放就搞定了,那咱们还是按照惯例啊,定义一个主程序的入口,我们写个写个闷,好, ok, 在 这个, 在这个判断里面呢,如果当前未主程序入口,那我们来调用这个 manu music 这个函数就可以了。 ok 啊,那么我们这个 p i 文件里边的逻辑就写完,写完之后呢,还是回到我们的启动的这个 python 文件里面 start, 在 start 里面咱们写哪些逻辑呢?首先肯定还是需要我们来导入 music 这个 python 文件里边的这些方法,所以咱们还是按照之前的写法,那我们就直接那在这里边 from music import 一个星号啊,那这行代码的意思跟它其实是一样的。来,咱们还是给大家写清楚一点, 就是我们要从 music 第二 p y 文件里边干嘛呢?导入所有的方法和属性,目前咱们只是定义了一个什么游戏主界面的背景音音效,对吧?那么这个背景音效其实还有挺多的,比如说战斗场景的 对不对?然后选选择我们的植物的这个音效,其实都有啊,所以咱们现在目前先定义这么一个, 所以这个时候呢,我们直接用这个新号啊,用新号来导入所有的啊,就是后续呢,咱们就不用写这行代码的逻辑了,直接因为有了个新号啊,自动会你在这个里面加逻辑啊,加逻辑就是不影响他的一个导入的。 行,那么咱们继续往下写,然后这是初始化游戏模块,那么我们在下面写一个逻辑啊,就是我们要音乐初始化, ok, 怎么写呢?非常的简单, pygame 点 f 开头点音, it, 这是音乐初始化, 初始化音乐完了之后,那咱们来调用这个调用背景音乐的函数呢,就是 menu music 啊,就是它, 好,来咱们调一下,就是我们直接在 music 点偏键里面定这个含定的这个函数啊,那么调完这个函数之后,咱们在下面来设置一个音效的真数啊,那这个真数也非常简单,我先来个变量 clock c l o c k, 那 么它就等于 pm 点一个 time 点 clock 啊,它是设定音效真数,设定好音音效真数之后,那咱们继续往下来写逻辑, 其实以上呢,我们第一步这个游戏主菜单的背景音乐我们已经搞定了,对吧?那么还有一个就是我们现在无法做到一个手动的关闭,只能够通过拍叉来关闭这个游戏,所以咱们在这个 没有循环里面,咱们再加一个逻辑来,那么我们写一个注,是啊,就是我呢利用监听,我们就是来便利窗口的监听事件,就是比如说我打开这个游戏的主键面,对不对? 在这个游戏主界面里面,我可以点击这个关掉它,也可以点击进入游戏,也可以点击什么保存游戏,这都是我们进行一些操作,对吧?那么这些操作呢,我们就来监听它究竟你做的是哪一个操作,所以呢咱们直接写这个逻辑呢,就是 for event in pid 点 event get ok, 那 么在里边我们可以做做一个判断,如果呀这个用户的他的监听,他要做的这个事件的类型呢?是退出,对吧? qqqudqud 是 退出,那么退出,那么我就认为游戏退出了,就是他按下那个插件, 这是咱们定义了完了这么一个逻辑。那个代码呢?其实也不难,咱们看看目前呢,我们实现的一个整体效果啊,有没有音效,有没有可以关闭的一个一个逻辑啊?来,咱们直接点击运行 啊,首先音效是有了,对不对?好, ok, 那 现在我点一下关闭啊。来,咱们点好关了,是吧?也有音效,也有关闭。好, ok, 那么咱们今天的这个,目前整个项目的,我们就把音效啊,背景音效和整个的一个关闭事件已经实现完了。好,咱们今天呢先到此为止。

卡卡兔玩具屋 hello 小朋友们,今天卡卡兔又给小朋友介绍一款新的僵尸玩具了,先来拆开包装看一下吧, 这一位就是我们新出场的朋友滑板车僵尸了,让我们看一下他和普通的僵尸有什么不同吧。首先他的个头比普通的僵尸大一点, 衣服穿着的话都是一样的,头顶上面没有帽子的插口,最特别 的是他有一块滑板车,滑板车还可以滑动哦!接下来我们开始今天的故事吧! 姜王博士,上次去抓植物的时候,你真是太厉害了,我们什么时候再去抓捕植物呀? 你还好意思说呢,上次你带领的兄弟居然还说是精英中的精英呢,要不是我出手的话,你们能吃到植物吗?哎呀, 是的是的,姜王博士教训的是,所以这一次我又安排了新的兄弟过来听从您的安排呢。 哎呀,你这几个手下穿着奇形怪状的,确定比上次的厉害吗? 报告姜王博士,这几个兄弟都是鲨鱼博士特地改造的,所以您就放心吧!姜王博士,这些兄弟如果真是鲨鱼博士改造出来的,那么我想战斗力怎么也不会太差吧。 那行吧,就再给你们一次机会,等一会滑板车僵尸来到了,我们就出发去抓植物了, 嘿嘿,姜王博士,我没有迟到吧? 这位兄弟感觉挺厉害的呀,看来这次植物抓捕行动稳了。那当然,他可是我的得力手下呀,起码一个能顶你们三四个呢。 各位小伙伴们,现在的情况不容乐观呢,刚收到消息,我们的前列防守阵地被僵尸们给攻破了呢。 菠萝射手,那你收到的消息有没有说敌人到底是多少僵尸啊?这样我们也好准备多一些炮弹呢, 来多少僵尸都是没用的,我一屁股就能把他们都给坐扁了,让他们有来无回,你们几个就放 放心吧。窝瓜射手,这些僵尸们可没那么好对付呢,我和他们也交过几次手了,他们可没想象中的那么弱啊。 是啊,如果僵尸们都那么弱的话,那他们怎么能抓住我们的同伴呢?所以大家可不要掉以轻心呢, 说曹操曹操就到,小伙伴们赶紧准备战斗吧,让僵尸们知道惹了我们的下场如何。 姜王博士又准备进行第二轮的进攻了,这次的防守职务们都不少,他还能那么顺利的拿下职务吗?