粉丝11获赞51

今天带大家做了这款游戏叫做飞翔的小鸟,这款游戏操作非常简单,他只要不停的按空格键就可以了,但是按空格键也是需要技术的,而不是拼命的乱按,你要操作小鸟穿过这个一个个的水管, 如果碰到水管或者碰到地面,不要输掉,就有点像,你本来是个人啊,你现在要学会怎么去飞啊,怎么好好的控制自己,越飞的越多,分数就越多啊,如果不小心撞到了啊,就输了。 好,这一款游戏就这么简单啊,现在我带大家一步一步的把这个游戏做起来,首先我们不需要这个小猫了,我们先从背景开始入手啊,我们先把背景 画好,我们选择一个现成的这一个背景,但是呢,这个背景是不会动的,因为,但是我的飞翔的小鸟在不停的飞的时候,背景是会移动的,为了好看一点啊,我们先来处理一下这个背景, 我们去背景里面,我们先把这一个我们先复制一份出来,我们去画一下,我们绘制一个角色,我们把刚才复制的粘贴进来,但是呢,我们想要动的这个背景我们是不需要的,我们把背景删除掉, 我们要的是一个绿色的这一部分啊,前面这个我们也不要了。好,呃,然后我们去背景里面,我们把绿色的这一部分全部删除掉,因为我们已经搬到前 地方去了,好,会发现这里空白出来,我们顺便把它形状改变一下,把它拉长一点,把它遮住。好,这样子呢,我们就有了一个叫角色,一只有背景的部分。好,我们把它写成背景一。 好,但是这个背景呢?嗯,好像不太听话啊,所以呢,我们把左边的这一块凸起来的,我们先把它删除掉,我们从右边复制一个圆的过来粘贴,我们拿这个搬到这边来。 好,这样子圆的会可能会好看一点, 然后我们需要把它放放到适当的地方。啊,好,我们就把它固定在这里吧, 我们看看他的位置。零复,求,好,我们改成零和零吧。好,这是一个我们希望我们不停的飞的时候,他会往左边走,往左边这样子移动。 好,所以呢,我给他一个简单的命令,嗯,让他重复执行,让他来一个, 例如我们现在先调成五秒钟移动到,因为我们左边,我们看看他移动到左边的时候,他的位置是多少?四百三啊,那应该是四百八十,四百八十。好, y 坐标,我们不希望它动啊,所以 y 坐标保持为零。好,我们来看看现在的效果。哦,错了啊,那边是负四百八。 好,我们就可以看到他不停的往左边走。哎,但是我这里不是空出来了吗?好,这就出现一个问题,我确实是往左边走了啊,但是呢,我们右边被空出来了,所以这时候呢,我复制一份出来。 好,现在我们有个背景二,但是背景二呢,它是用来干嘛的呢?背景二它的代码会有点不一样, 他本来是会在这一边放在右边,然后慢慢的往这边移的,所以呢,他的位置应该是四百八十,然后移动到零。好,我们来看看现在的效果。 好,我们看到了,他连贯的把它移出来了,好,移到这里就停了,五秒钟之后就停好了,我们为了让他循环播放好,所以我们这里五秒钟之后,我们移动到这个位置, 五秒钟之后我们就让他瞬间回到零零点,然后重复再进行刚才的移动。所以呢这边我们也让他 五秒钟之后回到原点,然后重复刚才的动作,这时候我们应该是变成了一个连续剧一样,他不停的往左边移,不停的往左边移。 好,我们现在看不到有什么奇怪的地方了,他不会说抽搐的那种动作。 好,现在就是背景做完了,但是现在已经发现一个问题,这里有几块很难看的地方。好,这时候呢我们需要去建立一个地面,我们我们去新建一个 地面。好,这个地面从哪里拿呢?我们一样去背景里面选择这一个,我们复制一下,然后去地面里面把它粘贴过来,这时候我们就有一个地面了。 好,这个地面地面为了遮住它,怎么遮住呢?我们一个是把它固定位置,把它固定成零零, 但是呢为了保证这个不不跑到上面来,我们必须要在地面里面 做一个,在外观里面有一个,就把这一个图层移到最前面,他永远都在最前面,帮你们遮住,他看到没有?所以呢这个背景也可以给他一个命令,让他移动到后面, 两个都可以给他来这个命令,一个在最前面,一个在最后面,所以他们就不会出现重叠了,这样子就会看到有一个移动的背景。 好,如果觉得这个速度有点过快,我们把时间调好,这两个时间一定要调好,调成统一的啊,我们统一调成十秒吧。好,我们现在看看,我们现在来看看效果 好,可以看到他是连贯的移动。好,这个背景我们就做好了,这节课就讲到这里。

相信有不少小伙伴小时候都玩过这个游戏吧,这个游戏也非常简单,你只要让小鸟保持飞行,不要碰到绿色的管道就可以了。小时候只会玩不会做,实在是难受,那么今天就让我用些语言把它弄出来吧!好戏开场了, yeah, 保定!那我们一起来看看效果吧!两百行代码,可惜的就是没有把小鸟装柱子 给写出来,还有柱子的计算也没完成,不过我还是希望屏幕前的你能够帮助我完成他,写出来了一定要在评论区告诉我哈!

同学们大家好,欢迎来到叮咚老师的少儿编程课堂,这节课我们学习的主题叫做飞翔的小鸟,我们先来看一下这节课想要实现的效果是什么样子的。 同学们呢,平时应该都玩过手机游戏或者电脑游戏,可以通过键盘或者手柄来操控角色完成游戏的任务,这个过程呢是非常快乐的。今天我们一起来做一个小游戏,叫做飞翔的小鸟, 我们来看一下, 我们一起来分析一下这个任务如何来实现。他 这个小游戏里面呢有角色和背景,背景呢比较简单,就是一张蓝色的天空就可以了,我们重点放在角色的区域, 角色呢有小鸟,有管道,有飞翔的小鸟标题和游戏结束的标题,还有鼠标点击的按钮,以及空格控制小鸟飞翔的这样的一个提示。那么他们分别做什么事情 呢?我们进入到 squas 编程软件里面来,一起编写一下这样的程序。我们打开 squas 编程软件,首先我们删除小猫角色, 从背景库中找到我们需要的蓝色背景的天空。那现在我们来添加第一个角色小鸟, 这个小鸟呢比较大,所以我们需要对它的大小进行调整, 经过测试呢,我们发现大小是二十的时候会比较合适,那么我们就需要给他设置一个大小为二十, 同时呢让他出现在一个指定的位置,大约在这个地方, 同时呢让他隐藏起来。为什么要隐藏呢?是因为我们游戏开始以后才会让他出现,那么现在小鸟的角色已经上传好了,也设置好了他的初始的状态,那接下来我们来上传第二个角色游戏开始的标志, 游戏的标题叫做飞翔的小鸟,我们让他挪到指定的位置,同样的我们给这个标题设置一些初始的程序, 接下来我们上传鼠标,点击按钮, 将它挪到适当的位置,给他设置初始的程序大小呢,同学们可以根据自己的情况来调节, 让他显示出来,然后挪到指定的位置,那么同时呢,这个是一个动态的图,所以我们需要让他切换造型, 我们来试一下,有点太快了, 好了,可以了,那么接下来呢,我们当点击他的时候呢,游戏就要准备开始了,那么程序是如何知道我们点击他就要开始游戏呢?我们这里需要用到一些新的知识点,我们一起来看一下。 首先呢,我们来看一下,当指针放在这个上面的时候,没有点击的情况下,游戏是不可以开始的,当我们鼠标放在上 上面,同时点击一下,游戏才可以开始。那么这个时候呢,我们就需要用到两个判断条件,第一个呢是他碰到鼠标的指针, 第二个呢是我们按下了鼠标的这个按键,只有当他们两个同时满足的时候才可以开始游戏,所以呢,我们需要运算模块里面的语,将碰到鼠标指针放到左边,按下鼠标放到右边, 从控制中找到一个如果,那么如果碰到鼠标指针,并且按下鼠标的时候才可以开始游戏, 那么可以开始游戏之前呢,我们需要让他播放一个广播指令, 让他播放一个新消息,我们将它改成游戏开始或者开始游戏,同时呢我们将它补充完整,点击滤镜, 我们需要用到一个重复执行模块,这个时候呢,我们来看一下 点击好像没有反应,因为我们后面的程序呢还是没有写的,那我们先停留在这个环节,点击以后,这个按键是不是就要消失掉? 所以呢,我们需要在他的下面增加一个隐藏功能,再来试试看,点击好他就消失了, 那么我们还需要给他增加一些音效,当点击的时候呢,我们让他发出一个鼠标点击的声音,那我们就 需要从素材库中上传鼠标点击的声音, 放到这里再来试一下。好,那这个效果呢?已经实现了,那么游戏开始以后呢?谁先出来? 没错,小鸟要出来,那我们就回到小鸟的程序,当他接收到游戏开始的时候,他需要做什么事情呢?第一个小鸟要有飞翔的动作,那飞翔的动作比较简单,我们让他切换造型就可以了, 来试试看没有出现是为什么 呢?因为我们最开始让他隐藏起来了,这里呢是需要让他显示出来。 好,小鸟已经在这里可以飞翔了,那么小鸟还要做什么事情呢?他要不断的上升和下降,也就是飞高和飞低,那如何来让他实现高低的这个动作呢? 我们同样的需要让他接收到游戏开始以后才能做这件事情,所以给他一个启动程序,游戏开始。当游戏开始以后,我们如果没有做其他动作的时候,这个小鸟要不断的下降,下降呢,我们用到一个新的 歪坐标来实现他就可以了,我们将歪坐标增加一个负二,给他一个重复执行的动作 来试一下。当我们没有做任何事情的时候呢,小鸟是从天空中不断的掉落,那么我们就需要用到一个新的内容来控制它,用什么控制呢?我们可以使用空格键来控制, 如果按下空格键的时候,我们就让这个小鸟往上面来跳跃,那如何跳跃呢?我们只需要让他的歪坐标增加就可以了, 可以增加四或者五都可以,那么我们每按一次,让他多增加几次重复执行固定的次数, 这样子我们再来看一下, 我们发现按空格能够让小鸟不断的升高,不按空格的时候他就会 会掉下来,那到这里呢,我们的效果已经实现了。好,接下来我们要来上传下一个角色管道, 管道需要做什么事情呢?从右边往左边滑动,现在呢我们发现屏幕上,当点击率齐的时候,点击进入,我们发现这个标题还一直在那,同学们可以选择让这个标题消失,我们来点开标题, 当他接收到游戏开始的时候,我们让这个标题隐藏起来就可以了,再继续回到管道中。首先呢我们给管道设置一个初始的程序,当滤器被点击的时候,我们可以让他隐藏起来, 那么如果他隐藏起来了,那么如何实现管道从右往左滑的效果呢?我们之前 学过克隆模块,没错,这里呢我们就需要用到克隆,当他接收到游戏开始的时候,我们让他不断的克隆自己, 当然这个克隆呢,我们不要太快,我们让他出现一个慢慢的往左边滑动,然后过一会再出现一个,我们给他一个控制的时间, 两秒或者三秒都可以,同学们自己决定。那现在克隆体做好了,我们需要让他作为克隆体启动的时候出现滑动的效果,找到当作为克隆体启动的模块启动的时候呢,我们让他先出现在右边, 出现的时候我们需要设置它的高低,我们来看一下管道中间的就是小鸟可以穿过的地方,那我们最高的地方呢,可以放到这往上面挪一些,这个是多少呢?我们记录一下它的歪坐标 大概是八十六,所以我们可以将歪坐标设为一个随机数,随机数需要从运算模块里面找到,在多少和多少之间呢,最高是八十六,我们这里可以写八十六, 往下面呢,放到这里,这里是多少呢?这里是负七十二。那这样他作为克隆体启动的时候就会出现一个随机的高度,接下来我们让他显示出来, 显示好了以后,我们需要让他从右边往左边滑动,那滑动呢,我们就可以使用将 x 坐标减少就可以了,或者增加一个负的值, 给他一个重复执行的动作。这样我们再来看一下 我们的管道呢,已经可以实现从右边往左边滑动的效果,但是呢我们发现他在最左边的时候并没有消失, 所以我们现在需要让他有消失的程序,消失的程序呢,我们只需要判断他到这个地方的 x 坐标是不是超过了我们的参考值就可以了,那么我们知道这个舞台的横坐标长度是四百八十 左右呢,各是两百四十,那最左边的坐标就是负的两百四十,所以我们只要判断他的 x 坐标是不是小于负的两百四十就可以了, 找到 x 坐标如果小于这个值呢,我们就让他删除掉,自己 再来试一下。 好,我们发现呢,他挪到最左边的时候就会删除自己,那管道滑动的效果现在也已经实现了,那么现在需要做什么呢?我们会发现小鸟不论有没有碰到管道,他都不会有任何的效果, 那现在我们就需要做的是小鸟检测一下他有没有碰到管道,如果碰到了就游戏结束,如果没有碰到就加分。 那我们先来回到小鸟,同样的小鸟呢,是在接收到开始游戏这个指令以后,他才会去检测他有没有碰到管道,那么我们需要让他判断,如果他碰到管道,那么我们需要做的是, 如果他碰到管道只有这一种情况,游戏会结束吗?当然不是,如果我们的操作不当,他自己掉落下来了,那么也会游戏结束。所以呢还需要有一个碰到 舞台的边缘,因为他只有上下运动的,所以呢他一般情况下只会坠落下来,碰到下方的边缘,所以这两种情况出现,任何一种情况,我们都会让游戏结束。所以呢我们应该用到逻辑里面的货, 当他碰到管道或者碰到舞台的边缘,我们就让他游戏结束,那当然这个动作呢是要重复的去判断的,所以我们给他增加一个重复执行。碰到管道或者碰到舞台边缘的时候,我们可以让他先发出一条 广播指令,广播游戏结束。那么游戏结束以后,我们让小鸟还需要再变换造型吗?不需要了,那空格键对他还有效果吗?也没有效果,所以这个时候呢,我们需要增加一个 控制程序,让其他的模块全部失效,也就是停止这个角色的其他脚本。游戏失败以后呢,我们再让他播放一个游戏失败的音乐,从素材库里面上传一个声音,游戏失败的效果 让他播放。播放完了以后呢,我们再让他停止。为什么要停止呢?因为我们想一下,他碰到舞台边缘的时候,他会一直播放这个失游戏失败 的音乐,所以呢,我们让他播放完以后,就把这个脚本全部停止掉,停止这个脚本就可以了,我们现在来看一下。 好,那现在呢,小鸟碰到管道,他会播放游戏失败的声音, 那现在呢,我们发现游戏并没有结束,管道还在持续的从右往左滑动,所以呢,我们需要让管道,当他接收到游戏失败的这个广播的时候, 我们需要做出一些程序。管道接收游戏失败的时候呢啊,游戏结束的时候呢,我们就需要让他这些程序模块全部停止,所以我们给他增加一个停止这个角色的其他脚本, 我们再来试一下。 好,那现在呢,音效也可以出现了,游戏呢也可以正常结束。那接下来呢,我们在游戏结束以后,让他出现游戏失败的这样的一个造型,所以我们从素材库中上传游戏失败, 把它挪到适当的位置,挪到适当的位置。好,那这个 game over 呢?在程序刚开始的时候,他会出现吗?没错,他不会出现,所以呢,我们让他隐藏起来,当他接收到游戏结束的时候 才会出现,所以呢,显示出来,挪到我们指定的位置来试一下。 好,我们现在呢效果已经出来了,但是呢,同学们发现一个问题,没有记分装置,那么记分装置呢,我们可以让他在管道这里, 因为当小鸟每飞过一个管道的时候,我们就让他增加一分,那么我们就可以把每一个管道的克隆体作为一个独立的积分条件,所以当管道的克隆体启动的时候, 增加一些得分的装置。那么在什么情况下可以得分呢?我们来看一下, 这种情况是不可以得一分,也就说小鸟从一个管道的中间穿过的时候可以得一分,那么其实这个判断条件呢,我们就可以用做 坐标来实现,如果他的坐标小于小鸟的坐标,我们说的是 x 坐标,如果管道的坐标呢,小于小鸟的坐标,那小鸟的坐标是多少?是负一百五十。 所以如果管道的坐标小于负一百五十的情况下,说明什么?说明管道已经从小鸟的右方变到了左方,那这个时候我们就可以加一分,我们将它补充完整。如果他的坐标小于一百五十, 我们需要增加一分,那增加一分呢?我们是需要一个得分变量的,这里建立一个得分的变量, 在游戏开始的时候,我们将得分设置为零,然后呢,隐藏得分的变量,在什么时候 让这个得分变量出现呢?当游戏开始的时候再让他出现,所以游戏开始以后让他显示得分的变量,接下来当他这个条件满足的时候,我们将得分增加一 同时得分的时候,我们播放一个得分的音效,从素材库中上传得分的音效, 我们可以用播放得分音效就可以了,不用等待播完。接下来呢,我们给他增加一个重复执行的模块,来看一下效果。 好,我们发现一个新的问题,当他经过一个管道的时候呢,他同时增加了很多分, 那这种情况怎么解决呢?那想要解决问题,我们得先找到原因,原因就是小鸟不是瞬间穿过管道中间的,那么也就是说我们程序在执行的时候, 当他小于负一百五十的时候,他就会持续的增加一分,所以这种情况下呢,我们需要让他加一分以后,我们就让这个程序失去作用,所以呢,停止这个脚本,再来试一下。 好,问题呢,已经得到了解决。那最后呢,我们再来给这个游戏增加一个背景音乐,我们可以 把背景音乐写在背景里面,上传我们的游戏背景音乐。 当程序开始的时候呢,我们并不让他播放,所以停止播放所有的声音。当接收到游戏开始指令的时候,我们就让他播放这段音乐,来试一下效果。 好,我们还发现了一个问题,当游戏结束以后,背景音乐并没有停止播放,那这个怎么解决呢?很简单,我们只需要让他接收到游戏 结束的这个指令时,停止所有的声音,或者停止这些角色发挥作用就可以了,我们需要用到一个停止,其他的脚本就可以了,来试试看。 好,我们效果呢,已经实现了,那么这个时候呢,同学们可能有一个问题,那么玩家怎么知道我们游戏开始以后是通过空格的按键来实现小鸟飞翔的效果呢?那么我们就上传一个操作提示的 的角色,我们将空格键控制小鸟飞翔的这个角色呢,添加在舞台的上方,给他一个初始程序,设置一下他 角色大小,这个可以小一点,二十就可以了。好,我们把它可以挪到这个位置,给他初始的位置来固定一下,当他接收到开始游戏的这个命令时,我们让他显示出来,那么最开始我们就让他隐藏起来, 显示出来,显示出来以后呢,我们过一会再让他消失掉,他如果持续在这个地方呢,会影响玩家的体验感,那我们只需要让他出现三秒或者五秒就可以了, 然后再让它消失。现在呢,玩家就可以知道我们是通过空格键来实现小鸟的飞翔的。我们来看一下效果 在这里出现 好了,那效果呢,已经实现了,同学们可以尽情的玩一下自己制作的这个小游戏,看一下你能得多少分。我们再回到课程当中来, 同学们呢,可以在今天学习的程序基础上来改进你的程序,也可以将你的作品呢投稿给老师一起交流。那么改进的思路有很多种,比如说我们可以给他增加一些观众,可以让他上升的速度更快, 可以给他增加一些花草树木来装扮,都是可以的。那最后呢,我们来看一下今天的课后练习题, 下面图中的两个四块是模块,你们来说一说他们有什么区别?左边呢是碰到鼠标指针,右边呢 是按下鼠标,那他们的区别呢?是碰到鼠标指针这个模块表示该角色碰到了鼠标的指针, 按下鼠标呢则表示我们侦测到了玩家点击了鼠标的按键,他们两个是有本质的区别,大家不要搞混淆哦。 好了,我们今天的课程呢到这里就结束了,欢迎大家评论私信和交流,我们下期再见。