粉丝816获赞1555

spa 基础入门教程第十七期,今天来做一个画笔贪吃蛇,顺便介绍一下列表的使用。先来看一下成品效果。现在我们看到的这只贪吃蛇并不是一个完整的角色,只有蛇头是一个真正的角色,它的蛇身这个红色的部分都是用画笔画出来的, 但是看上去很灵动对不对?那么他其实是在高速的进行擦除重画,擦除重画,每秒钟三十次的把它擦掉,重新画出来,每次都是快速的从舌头画到舌尾,速度非常快,所以我们感觉不出这个过程来。 而画笔每次描绘的轨迹,其实就是用列表存储起来的这个舌头经过的坐标位置。现在让我们先来看一下列表的积木是如何使用的。在变量这个大分类里,我们可以建立一个新的列表,名字呢叫做 x 列表,用它来存储舌头的 x 坐标。现在随之解锁了很多列表相关的积木,我们一一来介绍一下。首先是这个插入,准确的说他是向列表的末尾插入数据,每执行他一次,我们就可以看到在屏幕上右侧的列表里边,他的末尾会增加这个新的数据项进去。 另外在舞台上的这个列表,我们左下角有一个加号啊,也可以用它来增加空白的位置,然后在里面手动填写你想要的数据,也可以把你不想要的那一行用小叉把它插掉。接下来就是删除列表当中的指定项,指定的内容呢,是你的序号, 我这里可以删掉第一项,也可以删掉第五项,我指定删除哪项,他就删除哪项。当然这个数字范围呢,得在你这个长度范围之内,然后是删除列表的全部项目啊,这个很好理解啊,一执行呢,就全部清空了,什么都没有了。接下来是在指定的序号向前插入数据, 这个功能呢,就是你在这个指定序号项插入数据之后呢,新插入的数据就会获得这个编号了,剩下其他数据往后顺延。比如说你在第一项前插入一个数据, 这个新的数据呢,就成为第一项,剩下所有的项目都往后顺延,原来的一项变成了二项,二项变成了三项,以此类推。在中间插入也是一样的,在第五项前插入数据,那么新的数据成为第五项,原来的第五项成为第六项,后边的六乘以七,以此类推。 但是如果现在最多只有七项,你却要在第九项前插入,哦,那是没有结果的。而现在如果最多是七项,你要在第八项前插入,这是允许的,新的数据会成为第八项。 下一个功能,将指定序号项替换为特定的内容,这个相对比较好理解,没有什么需要特殊解释的了,只要你的序号是长度范围之内的,那你想替换哪项就替换哪, 想想替换成什么东西就替换成什么东西,都可以的。然后是非常重要的获取列表中指定序号项的取值。你看他是一个圆角形的,他是可以作为一个变量填入到运算符号里面去的,本质上他也就是一个变量,我们都是把它按变量的方式去对待处理的, 只不过呢,他是从列表里边按照序号往外取数据,要哪项取哪项就可以了,但是如果你给出来的这个序号的范围超过了现在列表的长度,那么他就会返回一个空, 注意是空,不是零,空代表什么都没有。很多时候在代码里,我们并不是真的去手写一个序号来让他获得变量数据的,而是呢,通过其他的变量跟他配合使用。比如说我新建一个变量就叫做序号,那么我就把这个序号变量填入到这个第几项的这个空缺位置上去,这样呢, 就可以按照这个句号变量它的取值来动态的获得列表当中对应的值了。接下来是列表当中第一个取值为东西的这个数据的编号。 啊,这个就是反过来了,刚才是根据序号拿到值,现在呢是根据值来看一下他的序号是哪一个,当然只显示第一个序号,比如说我这个列表里边现在二二二这个值存了两遍,分别在第四和第五项都存了二二二。 那我就来看一下这个列表当中第一个含有二二二的序号是什么呢啊?反过来就是四,然后是列表的项目数,也就是他一共包含多少项。 有的时候我们希望获得这个列表的最后一项的内容,那么就可以把这个项目数作为一个序号,填入到刚才的这个获取指定序号的值这样一个积木里去来配合使用一下。最后是这个尖角判断的积木了,他 在判断这个列表里是否含有的指定的值,含有就返回真,不含有就返回假。最后两个显示和隐藏列表,这个没什么特别的字面意思。了解完了列表的使用,现在就来给贪吃蛇编码了,先建立一个列表,叫做 y 列表,刚才有一个 x 列表了,他俩刚好配合起来,一个存储 x 坐标,一个存储 y 坐标。 那在绿奇之后呢,先要对两个列表进行清理,直接使用我们刚才学的删除全部项目。这里积木拖过来之后呢,都会先显示默认列表, 一定要记得去改你对应的列表,用那个下拉框选一下。然后我们要建立一个重要的变量,叫做长度,也就是贪吃蛇的长度,初始值呢设为三, 接下来给一个初始位置,我把它放在零零,然后重复执行,这里我们用三十次。为什么是三十次呢?我们的初始长度是三,这里一长度对应十次移动,我们需要 要先给他建立一个初始的蛇身的长度了,所以是三十次,每次只让他移动两步,然后移动之后,记得要把他的坐标加入到列表当中去。这里我们需要在第一项前插入他对应的 x 坐标和 y 坐标,因为我们希望舌头当前的位置始终处于列表的最上方, x 的坐标加入到 x 列表当中去,而 y 坐标加入到 y 列表当中去。仍然要提醒一下,记得切换你的列表名称, 点击率其执行一下。我们能够看到这个列表很快被拉长填满到三十了。但是注意,我们现在只是在初始化一个设身,这样的速度还是有点太慢了,我们希望他一瞬间就产生,所以用一个自制积木,名字就叫初始化。 我们勾选上,运行时不刷新,把刚才这些初始化的动作呢,都放在这个字字积木的下边,而点击利息之后呢,我们直接调用这个字字积木就可以, 这样呢,可以在一瞬间就把我们的列表填满了。说实话之后开始干点正事了,舌头重复执行,主要工作呢就是向前移动,每次只需要移动两步。这个游戏里我们并不能控制 三只蛇的移动和停止,只能控制他的方向,他是不断向前移动的,而控制方向的方式呢,我们借用一下上一次在平台跳跃里的小技巧, 拖过来一个右转的代码,然后呢是按下右键和按下左键的侦测,再次使用到了按下右键减去按下左键的这个代码,把这个减反的结果放入到右转里去。现在呢,你按下右键就是向右转移度,按下左键呢 就是向左转,一度都不按呢,就是不转,都按呢也是不转,不过这个转弯幅度有点小,我再给他乘个三,这样呢,按下一次就可以右转三度或者左转三度了。 跟初始化的时候要做的事情一样,蛇每一次移动之后呢,都需要把他当前的新坐标加入到列表当中去,仍然呢是要在第一向前插入 x 坐标和 y 坐标。然后我们需要做一个游戏结束的判定, 如果这个舌头碰到了舞台边缘,我们就认为游戏结束了,而如果舌头碰到了苹果角色,那就可以给他奖励了,把他的长度增加一,现在舌头已经能动了,也可以把数据加入到列表当中,他做了很多工作,但是还有一个地方要注意,列表会越来越多数据, 它会越来越长,而 scrat 列表长度是有限制的,我们最多可以有二十万条数据,那这里我们需要对数据进行一个限制,多余的数据我们就不要它了,因为也没有用。每次循环我们要判断一下是否需要删除末尾的这条数据,末尾的数据呢,就是它的序号,对应的就是列表 的项目数。那怎么判断是否多余呢?用当前的项目数跟长度做比较,如果项目数大于长度乘以十,刚才我们说过,一长度对应十个位置,所以这里要乘以十。 如果项目数大于长度乘以十,就把末尾的数据删掉。注意这里 x 列表和 y 列表都要删掉。再再次提醒新拖进来的列表节目一定要记得改它的列表名,因为一旦选错的列表名所带来的 bug 呢,通常是匪夷所思的,很难 定位。搞定了蛇头,现在来做画笔的部分了,画笔本身需要隐藏,他的重点就是重复执行,里边先擦除,再来重绘我们的蛇身。 所以这里需要一个制字积木,名字呢就叫画蛇,一定要勾选上,运行时不刷新,因为这里我们需要他很快的把这个绘制的工作瞬间完成。画蛇积木里首先设置一下颜色,设成红色, 然后笔的粗细把它设置成十八,这个跟舌头的宽度会差不多,先做一个抬笔,这时候先不要画,我们需要移动到舌头的位置, 我们是从舌头向舌尾画,而舌头呢就处于列表当中最前面的位置上,也就是第一项是舌头的位置。把列表第一项的坐标作为我们的起点坐标,先移动到列表的第一项上去,这就用到了我们刚才列表里边的根据序号来获取变量值。 x 列表的第一项填入 x 坐标值, y 列表的对象填入 y 坐标的位置,千万别混了,移动到起点之后,现在可以落笔了,接下来呢,就是按照顺序把列表里的坐标都走一遍,这就要用到我们的序号变量了, 这个时候呢,因为你已经站在第一项的位置上了,所以序号的出水值呢设为二。而重复执行的内部呢,每次就是移到下一个坐标位置上去,这里呢,用序号变量来 代替具体的手写值。每次执行之后都需要给序号增加一,那么重复执行直到的结束条件是什么呢?因为每次都会把序号增加一,最后一次执行完之后呢,序号已经大于我们当前的项目数了,所以结束的条件就是序号大于 x 列表的项目数。 前景期间所有的绘制结束之后,我们做一个台笔来执行一下,看看到目前为止的成果是什么样子的。 蛇很短,只有初始的三个长度,但是呢,还是很灵活的,那现在就要考虑怎么来奖励他增加长度了。苹果角色的代码绿皮之后呢,先隐藏本体,然后重复执行,每次呢移到随机位置, 同时切换一个随机造型,这里呢,我一共给了他三个造型,所以是一到三之间的随机数,然后就可以克隆自己了,最后等待一个一到两秒的随机数作为克隆体。启动之后呢, 肯定是要显示的,但是我并不希望他一直在屏幕上显示,除了被蛇吃掉之外呢,他停留的时间太长了,也应该自行消失, 这里限定重复执行三百次,大概是一个十秒钟的时间,重复执行之后呢,就自动删除克隆体,而在重复执行过程当中,如果碰到了贪吃者,那么也提前删除克隆体, 这样一个画笔版的贪吃蛇就完成了。其实实现贪吃蛇的方式有很多种,不用列表也是可以实现的,这里呢,就是想借这个机会来介绍一下列表的功能,所以就有了这样一个贪吃蛇的设计,你也可以想一想能不能另辟径,找一些其他的方法来实现贪吃蛇的效果。

贪吃蛇,哈喽大家好,今天呢给大家分享一款平时我们比较经常玩的小游戏啊,虽然说不是现在的,是很久之前的一款小游戏,我们一起来看一下。嗯,这个这款游戏之前呢,首先先教一下大家,就是我们要添加到队伍一个角色, 这个角色的话呢,我们可以通过画板这个地方了进行绘制,可以进行绘制啊,除了这个以外呢,就是我们可以通过我们的素材库找到你们对应的想要的一些人物或者呢交具角色等等啊,下面都是有的,下面都是有的,可以自己导入就可以了, 那这是天下角色,那这个游这个游戏呢,我们主要想实现的效果就是首先可以让他上下左右移动,同样的当他到达左边缘的时候能够从右边缘出现,当他 到达上边缘的时候可以通过下边缘这边出现,原理都是一样的,我们一起来看一下大概效果, 有一个减分和一个争分的效果,可以发现我这边呢主要是按左一键,然后他是不断的往左边移动,当当到打左边屏幕的时候呢,他会一直从右边屏幕出现, 同样我现在按的是上一键,那他也是通过从上一键然后到下一键这样的一个相反方向的话呢,也是可以实现的。好,那金币这边的话呢,可以发现当我碰到这个时候碰到金币的时候呢,会有一个降分啊, 如果说你分数很高的情况呢,他会减分,同时呢也会加分啊,这边可以自己设置好,这是一个基础的,我们一起来看一下基础的代码,首先我们看一下头部就是最主要的,这里的话呢我们主要是 通过上下左右来控制他的一个 s, 左边和外交带的移动。好,我们讲一下,按下上一键的时候,首先让他朝向角度,然后呢让他的坐标增加五,同理呢下一键,左一键和右一键一定要有道理,那除了这个呢,我们当然还说了, 当他超过我们左边屏幕的时候呢,他会从右边屏幕出现,当他超过下边屏幕的时候,从上边屏幕出现,那这里呢主要是判断他的一个 s 坐标和外坐标大于他的一个边界值,然后从他的一个反方向进行设置就可以了,那这些呢就是我们的头部代码,非常简单。 接下来呢我们讲一下我们的角色一代码,角色一代码呢,这里我们主要是设置了一个长度,因为我们最主要的目的呢是让他移到头部,然后呢通过去吃到金币的时候,他的一个长度进行累加,所以我们可以发现刚开始的时候呢,我们长度 设为零点一,然后各种题启动,是等到对应的一个长度后删除啊,一样的操作,那我们就要来看一下金币的代码,金币的话呢,我们是让他进行实际出现,出现的范围呢是在我们的屏幕上方,那当他碰到头部的时候呢,同样他碰到,那他当前的这个金币就消失, 同时呢他会在其他地方出现,而且碰到的时候他的长度呢是减少二的,我们来看一下刚刚的效果, 你看他现在是零点一,好,现在呢是负的啊,这这个效果呢就是让他不断的去碰到金币,然后进行减分的效果。除了这个基础上呢,我们还设置了一个实际角色啊,我们一起来看一下他的一个效果是什么样的。 这个时局节色呢,就会在我们的屏幕上方出现很多很多不同颜色的球球,然后 呢呃,他通过那个时候碰到这个球后呢,他的一个长度发生改变的同时,他呢也会有一个效果,就会让他慢慢变长啊,那他碰到金币的时候呢,还是一样会进行紧分, 就是要个基础效果,当然了在这里可以设置到他的头部,碰到他的尾部的时候呢,可以让他实现呃优势截止的一个效果啊,那我们来看一下这个代码, 看一下这个实际结束呢,他主要是呃一样的,就是让他开始的时候让他随机出现,然后出现的编号呢是一到八。在这个造型这里呢,我们已经给他设置了一到八的一个造型,让他随机出现 好,然后不断的克隆,然后克隆体启动的时候,他碰到同步的时候呢,他会又于到又继续的移到其他地方,然后他的长度进行增加啊,这些战略是非常简单的啊。来我们 好了,来看一下效果 很简单的代码哦, 今天分享就到这了。


各位家长、老师、同学们大家好,我是来自婺源县阜阳第五小学三二班的陈诗诗,我今天分享的作品是贪吃蛇。 传统的贪吃蛇玩法是用键盘上的方向键控制小蛇的移动,小蛇吃到食物就能长一截身体,舌头如果碰到了蛇身或者是地图的边缘。游戏结束, 走路的时候一定要小心,这个游戏最大的敌人就是自己,一不小心看错就输了。 再玩一把,看看这一次小蛇能不能吃到三十个食物。我们规定,如果小蛇吃到三十个食物,就算游戏胜利,加速前进。

大家好,我是郭老师,今天要来看一下我们的视频评论,有一位叫浩然宝贝三三的说想做一个贪吃石游戏,那郭老师今天给你安排上, 接下来我们只敲重点啊,打开我们的识别曲后,第一步,将脚我们的小猫给删掉,在我们的绘字这里点开这个绘字,在绘字这里点开圆,选择一个红色,不要拉到最后面,在这里画一个圆, 画圆后呢,点一下外面,再重新在里面画一个圆,这圆卷重后给它调为白色, 这边也给他调为白色,形成两个眼睛,自己调整好位置啊,在下面呢给他画一个嘴巴,好,做好这个人物后呢,我们接下来给 给他做程序,当律师被点击,让他在随机位置去显示,然后让他从不执行如果,那么拉四个, 再按下上键,下键,左键,右键,跟着郭老师去做面相的方向往上是改为零,往下是一百八,右边是九十, 左边是负九十。再新建一个变量,这个变量叫分数, 今天我要分数,我将分数是为零。在下面再做一个如果,如果什么如果碰到,拿出来到我们的素材这里找司机,点开他,找到一个球,这球调为四十, 如果碰到我们的球,将分数增加一,然后再进行广播。 接下来在另外一边做一个,当你取备,点击重复执行克隆之极,刚接收到克隆平,让他分数等待时间拉出来减零点五, 删除克隆题,再给我们的人物看你的大小,根据自己去调。郭老师这边给他调为三十。 在球的程序给大家做一个,当接收到广播,当预期被点击,预期被点击是显示已到随机位置,当接收到消息, 隐藏一道书,随机位置解释多少球给他探测词,自己加一个移动两步。那本期视频就到这里,如果有想学习的可以在下方留言。
