之前发了一个贪吃苹果蛇的视频,最近很多人在后台问,那么今天就开始做一下贪吃苹果蛇的制作教程。简单来说,这其实就是一个普通的贪吃蛇,叠加了一个重力下落的机制。所以今天呢,先来完成常规的贪吃蛇部分。先来看贪吃蛇角色的造型特点, 二十乘二十的小方块,舌头是特殊的,舌身呢,是两种不同颜色交替出现用来作为障碍物的砖块,也是二十乘二十的方块, 自带的苹果大小设置为三十。重点提一下,这里设计了两个列表, x 列表, y 列表,专门用来存储整个蛇身的各个部分的坐标点击率其。先来初始化一下贪吃蛇,首先是蛇头的造型和位置,造型一是蛇头, 我们这里要设置一下它的 id 值,这是一个仅对当前角色有效的私有变量,数值值设为一,也就是 舌头,他的编号是一,一到一个初始位置,注意一定要调整好他的朝向,初始的朝向呢,应该是九十度,这里我们直接用舌头作为本体了,舌身都是克隆体, 那我们先产生两个克隆体吧,从执行两次切换下一个造型,把它的 id 增加一, x 坐标增加负二十,也就是向左移动一个方格的位置,然后克隆自己。因为直接用这个本体来充当舌头了, 所以在执行完重复执行之后呢,需要把蛇头恢复到他原有的位置上去,这样我们就在形式上产生了一条蛇,但是在真正的数据层面还没有做任何操作,现在开始做列表相关的代码。首先呢,在每次游戏开始之前,要先清空原有的列表数据, 这也要删除 x 列表和 y 列表的全部数据。然后呢,我们需要把已经产生的舌头和舌身他们的三个位置数据都插入到 我们的列表当中去,作为初始的数据。接下来就是控制他们的移动了,我用按键事件来控制移动,需要注意这个按键事件的代码会对所有的克隆体也都生效,但是这里呢,我只想控制一下蛇头,间接的再由蛇头来控制蛇身的移动, 所以做一个判定,如果他的 id 值等于一才执行下边的代码,我们从简单到复杂来构建这个过程,按下按键之后呢, 向右的键,我们就让他面向九十度方向移动二十步,也就是一格的距离。现在这个代码只是让舌头移动起来了,但是我们接下来要把舌头的坐标信息加入到我们的 x 列表和 y 列表当中去, 注意加入的方式不是加在末尾,而是加在开头,要在第一项之前插入当前的移动之后的 x 坐标和 y 坐标,然后广播一个消息,名字就叫移动, 用它来通知蛇身的部分也要跟进移动了,注意这里因为蛇头已经移动过了,所以在接收消息的时候需要做一个判定, id 大于一的这些才是蛇身的克隆体, 他们去执行这个移动的操作。移动的方式呢,就是移到他的 id 所对应的在列表当中的那个数据位置上去,因为刚才在第一项前面加入了新的数据, 对全部数据都会向后推一位,这样所有的克隆体就都可以沿着原来的轨迹向前推进一步了。实际执行一下,观察数据列表的变化,数据在不断的增加, 但是实际上我们目前只用到了前三位,后边的数据是多余的,所以要考虑把末尾的数据给他删除掉。这里我们为了避免移动速度过快,把这个广播移动替换成广播移动,并等待删除末尾数据的方式。 末尾数据的编号应该是等于他的项目数的,所以删除的就是他的第项目数项。两个列表都是如此,删除各自的末尾数。现在只是让蛇可以整体移动起来了,具体功能还没有呢, 因为我们还有砖块的存在,蛇不能穿过砖块,包括蛇不能穿过蛇身本身,那这样的话还要再加判断,如果那末 如果碰到了砖块或者呢碰到了蛇本身,那这里还得有小技巧了,默认呢,你不能够侦测碰到自身,但是我可以在其他角色身上,比如说在苹果上先找到碰到贪食蛇这个代码,然后把它复制过来到贪食蛇这个角色身上,就能够侦测碰到本身了, 如果碰到的话,他就要倒回去,这也是我们的一个常规操作了,只有在没有碰到专 块和自身障碍的时候呢,再去执行对数据表的操作以及广播移动,我们可以先给砖块角色写一些临时代码,让他来生成一堵墙,让我们测试一下 点距离,其默认位置呢,就是怼在墙上的,按下向右键之后呢,代码执行了,但是没有穿过这面墙。移动代码又完善了一些,但是还要再考虑一个情况,就是舌头如果当前方向是向左的,那他是无法执行向右移动的, 只能向上、向下和继续向左。所以我们需要在移动之前再增加一个判断,就是当前的这个方向呢, 跟你想要移动的方向并不是相反的,对于向右移动来说,就是当前的方向不能等于负九十度,一定要先满足这个前提,再执行移动的操作。另一个跟方向相关的小细节就是当我们按下向右键的时候,既是在移动,也是在转向。如 如果碰到了砖块,既需要把移动的步数退回来,也得把这个方向改回来,所以需要建立一个变量,就叫做临时方向,他把转弯之前的方向先记录下来,如果碰到了砖块,那么就需要把这个方向重新调整回去,注意顺序,千万别错了,是先向后退,再调整方向, 这只是向右移动的代码,那么我们还有三个方向的代码要做,那直接把代码复制一下,换成不同的按键吗?这样显得有一些荣誉了,因为他们四个方向的移动只在方向相关的细节部分有差异,其他的移动代码都是完全相同的, 所以需要建立一个自制积木,名字就叫做按键移动,他需要接收一个参数移动方向,把刚才编写的向右移动的代码直接放到这个自制积木的下方,然后我们对他做一些微调, 首先是面向的方向直接调整成移动方向,用变量来代替固定值了,然后是用来判定不可移动的这个方向,也就是相反方向,这里呢,也不再是固定值了,而是用方向跟移动方向做差,他们的绝对值应该是不等于一百八十度的,这代表他们不是相反方向。 这样一来,四个方向的按键呢,就都可以用它来控制了。不同的按键方向,只要填入不同的方向参数就可以了。向右九十度,向左负九十度,向上零度,向下一百八十度。可以先来验证一下到目前为止的成果, 小蛇可以比较自如的移动起来了,那接下来我们就要考虑吃苹果,让蛇身变长了。先解决一个小错误, y 列表删除的时候,对应的应该是 y 列表的项目处。无论是吃苹果还是不吃苹果,其实都要先完 成移动的动作,区别就在于吃到苹果之后是要增加一个克隆体出来的,所以增加一个碰到苹果的判断条件。如果没有碰到苹果,其实最好办了,就是直接删除无效的数据,然后我们正常移动就可以了。 关键是碰到苹果的部分,我们需要做额外的处理。首先是新增克隆体的 id, 他应该等于当前的项目数。注意这里的广播移动呢,要放在判定完之后再去执行,我们先把这个判断分支放过去,专注于解决生成新克隆体。 确定了 id 之后,再来确定它的外观造型应该用哪一个。舌头的造型是独一无二的,剩下的所有舌身克隆体都是在二号和三号造型之间交替出现的,偶数项都应该是二号造型,而基数项呢,都应该是三号造型。可以写一个计算公式,二加上 id 除以二的余数,一个 i 要么是偶数,要么是技术,他的余数要么是零,要么是一,那现在加上二之后呢?结果要么是二,要么是三,刚好符合我们的要求。确定了 id 和造型之后,克隆自己,克隆完成之后,记得把造型和 id 都改回一,因为你还得继续做舌头,这样吃到苹果之后我们就可以增加长度了。 那现在呢,一个基础版的贪吃蛇且不可穿越障碍物就已经完成了,接下来呢,我们只需要增加他的重力系统就可以了。
粉丝4.7万获赞16.2万

贪吃蛇小游戏用 sqlag 如何制作呢?分解游戏分为三个步骤,第一步,我们用上下左右键控制蛇的移动,第二步,让苹果随机出现的舞台上。第三步,当蛇吃到苹果的时候,让积分增加,并且让蛇声变长。上传两个角色, 一个小球和一个苹果。我们用小球做一个贪吃蛇的蛇头, 当小驴骑被点击的时候,我们让舌头来到初始为止,让舌头不断移动。当向右的箭头按下时,让小球面向九十度, 同样的方式设置其他三个方向键。 当贪吃蛇碰到舞台边缘的时候,游戏结束。 当小瑞奇被点击的时候,我们让舌头不断的克隆自己,给自己一个蛇身的效果。当克隆体启动时,我们让他等待一段时间之后删除自己。 新建一个积分变量,用它来控制舌的长度,让积分乘以零点一,再给他一个初始值。 当小刘奇被点击的时候,我们先克隆二十个苹果,接下来每隔零点三秒克隆一个。当克隆体被点击的时候,我们让他来到一个随机位置, 设置它的大小在二十到四十之间,并且让它显示出来。当贪吃蛇放到苹果的时候,我们让积分增加,苹果的大小不同,我们也换上一下它的积分, 我们用大小除以二十,再做一个四舍五入之后删除子科隆体,我们再给积分设置一个初始值为零。这样贪吃蛇的游戏就制作完成了,小朋友们赶快动手试试吧!关注我,一起学习,一起成长!

有小伙伴说想学贪吃蛇大作战,这就安排三分钟让你学会开发这款游戏。第一步,地图与实物 先来画背景,不断循环,用画笔把横向的线画出来,竖线也用相同的方式处理。接着来画水果便利列表,在坐标位置把水果汇聚出来,若碰到蛇头则消失并生成新水果来测试一下,看看效果如何。 看到这,恭喜你已经学会了百分之五十。第二步,绘制蛇。用坐标列表存储蛇身位置,计算每个节点与前节点的距离并向前移动, 最后根据列表把蛇绘制出来就做好了。还有什么想看的,欢迎评论区留言,记得点赞关注哦!

贪吃蛇小游戏用 sqlag 如何制作呢?分解游戏分为三个步骤,第一步,我们用上下左右键控制蛇的移动,第二步,让苹果随机出现在舞台上。第三步,当蛇吃到苹果的时候,让积分增加,并且让蛇声变长。上传两个角色, 一个小球和一个苹果。我们用小球做一个贪吃蛇的蛇头, 当小力奇被点击的时候,我们让舌头来到诸事位置,让舌头不断移动,当向右的箭头按下时,让小球面向九十度, 同样的方式设置其他三个方向键。 当贪吃蛇碰到舞台边缘的时候,游戏结束。 当小的棋被点击的时候,我们让舌头不断的克隆自己,给自己一个舌身的效果。当克隆体启动时,我们让他等待一段时间之后删除自己。 新建一个积分变量,用它来控制舌的长度,让积分乘以零点一,再给他一个出示值。当小刘奇被点击的时候,我们先克隆二十个苹果, 接下来每隔零点三秒克隆一个。当克隆体被点击的时候,我们让他来到一个随机位置, 设置它的大小在二十到四十之间,并且让它显示出来。当贪吃蛇碰到苹果的时候,我们让积分增加,苹果的大小不同,我们也换算一下它的积分, 我们用大小除以二十,再做一个四舍五入之后删除此刻龙体,我们再给积分设置一个初始值为零。这样贪吃蛇的游戏就制作完成了,小朋友们赶快动手试试吧!


贪吃蛇吃到食物会变长。贪吃蛇移动时身体不再脱节, 舌头碰到舞台边缘或自己的身体时,游戏失败。 绘制角色包含胜利和失败造型。 修改蛇身代码,使用自制积木实现。注意勾选运行时不刷新屏幕,增加代码。如果舌头碰到边缘更改变亮并发送广播 文字,收到广播后显示 增加自制积木来判断舌头是否碰到身体。 如果失败,让蛇身分散消失, 增加胜利判断条件, 最后让时间间隔过一段时间减少。

各位同学,各位老师大家好,我们今天来用 squirt 做一个经典的游戏啊,贪吃蛇,这是一个具体的效果,我们来看一下,点击绿旗会有一个舌头出现,是吧,当我们吃到这个食物的时候呢,会越来越长啊,键盘呢是来控制上下左右的, 这个贪吃蛇还有一个特点就是可以穿越我们的边缘啊,是吧,上面进,下面出,左边进,右边出, 这个是一个具体的流程啊,我们今天呢来一起做一下,再给他加一个封面啊,好,点击文件,新作品确定,首先小猫删掉,找一个背景,背景找完之后呢,我们会制一个游戏的名字, 贪吃蛇大作战啊,大家以后设计什么封面的时候尽量自己设计啊,这样的话你可以对这个软件有更深的 理解,或者以后你遇到了一些作图的软件,其实跟它是相通的,比如说 ps 是 吧,来一个红蓝界面啊,点这里啊,然后呢点这个文字点一下就好了。好,我们再来有一个按钮,按钮角色 当其为点击,我们让按钮移到零零的位置去,然后的话呢,我们的造型,再我们点记文字工具上我们的 i 十, 你也可以打英文 s t, l t 是 吧? dot 都可以啊,点完之后呢,把它放在正中间,这个字体也可以改,你喜欢什么字体就改什么字体, 就改这个字体吧,然后点箭头点复制啊,因为我现在有一个蓝色框框,所以我点复制呢,只复制了文字啊,没有复制这个后面的这个蓝色按钮,我们点第二个造型点粘贴,这样啊,你的文字就一样大了啊,然后呢,我们来给他有一个变色的动画效果重复执行。如果,那么,否则, 如果碰到鼠标指征换成造型 b, 否则换成造型 a, 那 我们点进去看下效果,是不是有一个动画效果的,是吧?碰到鼠标指征的时候, 嗯,给第一个文字的这个标题啊,我们也来一个动画效果吧,重复执行音啊,一开始显示的,因为一会要隐藏啊,然后呢,将颜色特效增加二 应该就够了啊,你看从左往右有一个渐变的色,那如果是负二呢,就是从右往左了看一下是吧?随便你啊,我们就是个二吧,然后继续回到我们的按钮角色,当角色被点击的时候呢,我们直接广播一个消息,什么消息呢?游戏开始, 然后隐藏啊,它就不需要了,那一开始呢,它还显示的啊,这样呢,也是同样的道理,收到我游戏开始的时候,这个也要隐藏 在背景里面,也要编啊,当那些被点击换成我们新找的找背景,是吧,然后我们再找一个游戏背景啊,我们找一个这样的游戏背景啊。那当接收到游戏开始的时候, 我们换成第二个背景,是吧?我们先点滤镜看一下效果啊,以后呢,做几步就要点一下滤镜测试一下,看看对不对再往后做啊。好,先点滤镜是没任何问题的,然后我点这个 start 按钮。好,这样的话呢,我们的封面就做完了,是不是很简单? 好,接下来呢,我们来画一个舌头,在 scratch 当中所有的角色 都是面向九十方向的啊,所以我们画石头的时候呢,也要面向九十方向啊,这里画的时候可以把 shift 键按着不放在画,这样的话是一个正圆啊,然后我们点别的工具之后再点这个圆形,把这个颜色改成白色,画一下他的眼珠 差不多在这吧,然后点这个箭头,复制粘贴,有个新的再放这啊, 然后呢,离近一点,再画一个黑色的圆,再点这个箭头,调成黑色,再点一下圆形, 给他来一个眼睛啊,好,接着点复制粘贴,这个眼睛呢就做完了。好,那这个舌头做完了之后,我们直接右击复制,右击复制总共有三个造型,第一个红,第二个我们来一个黄, 这里的颜色注意调,因为你刚才是渐变啊,你给点回来啊,这是黄色,再来一个蓝色吧,来个三原色。 好,红黄蓝已经准备就绪,那这个舌头应该怎么做呢?我们首先当一些被点击,一定是隐藏的啊,它出不来,收到了,我们游戏开始的时候呢,直接移到零零的位置,显示移到零零,然后显示 还不够,是吧?那大小可能太大了,我们将大小设为六十,这样效果差不多啊,好点,平齐哎,有一个舌头在折,对吧?那舌头也要移动呀,我们现在呢得让它移动,重复执行,如果那 重复执行一直动啊,一直动,如果按下了键盘的上,我们直接面向零方向。 好,直接右击复制,再面向一百八,一百八十下,是吧?再右击复制,全部复制下来,右是九十,左呢,左是负九十, 这个方向大家一定要背下来啊,不管是比赛还是考级,基本上都会考到这个方向的问题。好,点击斜, 现在这个舌的话呢,移动已经做完了是吧?接下来我们先不要考虑他的这个长度问题啊,我们来考虑一下如何让这个舌头进行穿。穿越的效果就是左边进右边出,上面进下边出的效果, 先把舌头慢一点吧,七步七步应该好一点。好,现在考虑这个穿墙的问题啊,也就是穿越边缘的问题,我来考虑一下,因为整个的舞台区 上面下面左边右边是有固定的坐标的啊,这个的话呢在我的其他作品中应该有奖,这里就不展开讲了,我们直接开始做。首先呢我们得先从右边穿吧,所以呢放个如果答案吗?那左右是 x 坐标来控制的对吧?所以我们把 x 坐标拿出来啊, 如果 x 坐标大于,因为最左边是二百四十对吧啊?最右边是二百四,我们来一个二百三十九,如果 x 坐标大于二百三十九的时候呢我就要移到 改成负的二百三十九啊。 y 坐标动不动呢? y 坐标是不动的,所以呢它的这个 y 坐标还是放这,然后我们放在放这前面写好, 嗯是可以穿的啊,没问题是吧?啊应该是没有任何问题的。好,那这是一个,再来另一个从左边往右边穿怎么办呢?再拖个小句号, 其实跟这个是一样的了。呃,应该是 x 坐标小于负的二百三十九的时候我就要移到什么呢?我就要移到正的二百三十九,我 y 坐标动不动呢? y 坐标还不动。把这两个放进去,我来看一下左右是不是可以了 啊?这是右边这是左边啊,左右呢是没有任何问题的了啊,那接下来是上下,上下也是同理的啊,找到我们的我爱坐标, 点击复制一下,这个不要,这个不要, x 坐标留下来啊,大于号小于号也留下来了。如果我爱坐标大于,因为这上面是一百八十,对吧?我就大于一百七十九,这里呢就改成负的一百七十九, 这里放 x 坐标,因为 x 坐标不动啊,那相同的一样的 y 在 这,这应该是负的一百七十九,这个呢是正的一百七十九, x 坐标接着放给他,赶紧写, 我们来看一下啊,要把它放进去啊,不放进去肯定不行。好,左右都没问题了,上下啊,应该也都是没问题的了啊。那这个程序给它自定义一个积木,让它变得短一点,叫穿越吧。 那我们只需要把这个小小的积木放在这就搞定了啊,看这样是不是程序变得更短一点了啊?好,这个做完了之后呢,我们要接着考虑。考虑什么呢?考虑我们的怎么让尾巴越来越长,是吧?所以呢,我们得 创建一个变量,这个变量的话叫做长度, 然后重复执行,克隆自己,我们放在这,放在里面去,它会一直克隆,我们点进去看下效果。 好,你看它会有一个克隆效果,对吧?但是呢,它会不停的克隆,克隆体大概有二百多到三百个这样,所以你看最后跑着跑着舌头就只剩一个舌头了,对吧?因为克隆体的数目是有限制的,所以我们一边克隆一边删除。 那什么怎么去删除呢?那就是长度了啊,长度的时间越长的话,就是我们的变量越大,那它的这个尾巴就越长,是吧,所以我们一开始呢,将我的长度设为 三,给大家看一下啊,然后等待长度秒,等待长度秒 删除这个问题。好,我们来看一下,这是三的效果,这是长度为三的效果是吧, 你看三就已经很长很长了,所以我们吃这个食物的时候呢,尽量让这个长度变小一点,就增加的小一点啊。那首先呢,这里我们还是设为零半,接下来我们该干什么呢?我们该找一个食物, 找一个食物,要不要就找这个吧。然后它的造型呢,是可以添加的啊,加几个食物的造型尽量差不多大小,这样的话呢,就不用改了,就找 三个食物吧,同学们如果还想找的话也可以啊,多找几个都行,那我这里就找三个了,当一起被点击的时候呢,这个食物也是隐藏的。嗯,然后呢大小也试一下吧,设为五十,当作为 当接收到啊,当接收到开始的时候呢,移到随机位置显示 好,一到随机位置显示之后重复执行。如果,那么如果碰到了谁,呃,如果碰到了我们的角色二,呃,就舌头的位置,我们就将长度增加, 增加零点一啊,看下效果啊。好,因为这个变量是可以的啊,你看一直在增加是吧,所以呢,碰到之后我又马上离开,这样只能加零点一,不然会一直增加。那这再试一下 啊,零点一,零点二,零点三了啊,已经长度零点四了,现在是不是越来越长了,是吧,我感觉这样吃的还是有点快啊。 好,这里还要完善一下,因为我这里不是设计了三个造型吗?所以这个石头当即被点击的时候呢,换成一到三的, 当进入到开始吧,换成一到三的随机数造型啊,好像每次点秘籍呢,点开始都会有一个随机的造型,那这个实物也是一到随机位置之后呢,我们就换成 一到三的水技术造型,这样的话食物也会有一个造型上的变化,看一下。好,没问题,这样是没有问题的,我觉得还是太长了,就吃几个食物啊,长得就太快了。我们可以这里改成 等待长度乘零点一,这样的话这里改成我们这里增加零点五吧,把长度增加零点五,这个的话呢就乘零点一,没问题,接下来我们把这个长度给它隐藏掉。 好,这样一个完整的算术,稍微完整一点的这个贪吃蛇游戏就做完了啊,其实还是不难的,对吧?相信大家跟我后面一步一步做,是一定能做出来的啊。好,那今天我们就讲到这里,拜拜。