最新消息:

项目实战课程之寻找蛋糕(六)

Scratch 少儿编程 2020浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

项目实战课程之寻找蛋糕(六)

复习上节课学习的内容

小朋友们好!我是阿达老师。我们通过两节课的学习给杰瑞设置了两个敌人,增加游戏的紧张氛围,今天我们来设置一下成果输出,我们让杰瑞找到蛋糕后可以增加积分

本节课知识点

使用克隆功能完成金币累加特效
使用变量模块完成积分累加效果

 

实现分析

要实现金币动态移动效果,需要定位初始坐标和移动方向
要实现积分累加,需要用到变量功能点

视频实战

金币累加需要从10,累加到20,再从20累加到30,每次累加的起始值是不确定的,这里我们可以使用一个局部变量来存储这个金币的数值,

在这里,阿达老师来简单讲一下变量的知识,变量是记录程序运行过程中产生的数据,它是一个可变的数值,它有自已的和作用域(全局变量VS局部变量)所谓作用域我们可以这样理解:
变量A:在同一个项目中只有一个角色可以使用变量A,那么这个变量A就是局部变量,而它的作用域就仅仅在当前角色有效,
变量B:在项目中所有的角色都可以使用变量B,那么这个变量B就是全局变量,而它的作用域故名思义,当前项目的所有角色都有效,

我们先来实现金币累加的效果吧,先打开网易卡搭的编程环境,在我的作品中选择《寻找蛋糕》这个项目,进入创作页,我们先从角色库中导入一个金币角色,切换到这个金币的编程界面,对金币进行编码,
金币累加时需要一个动态数据来存储,那么我们先来建一个变量,选择数据模块组,点击新建变量按钮,在弹出框中输入“积分”两个字,

项目实战课程之寻找蛋糕(六)

这里有适用于所有角色适用于当前角色两个作用域可以选择,我们现在知道,他代表将要创建这个变量的作用域,分别是全局变量和局部变量,我们选择“局部变量”这个作用域,点击确定,我们现在就创建好一个名为“积分”的局部变量了,同时创建的还有四个代码块,用于这个变量的初始化设置

项目实战课程之寻找蛋糕(六)

从事件模块组拖动当绿旗被点击代码块,从数据模块组拖入将积分设定为0代码块,用来在启动游戏时初始化积分的数值,

项目实战课程之寻找蛋糕(六)

接下来,实现一下触发积分累加的条件,当杰瑞通过键盘移动,找到蛋糕的时候,我们就让积分开始累加,所以,我们可以用碰到角色功能模块来实现这个积分累加条件,切换到杰瑞的脚本区,从控制模块组里拖入如果...那么...代码块,从侦测模块组里拖入碰到鼠标指针代码块,将“鼠标指针”切换为“蛋糕”,将碰到蛋糕代码块拖入刚刚判断语句的条件部分,然后切换到事件模块组拖入广播消息代码块,设置广播一条“加分”的消息,把广播消息代码块拖入判断语句的结果部分,将这段代码拖入之前写好的循环判断当中,如图所示:

项目实战课程之寻找蛋糕(六)

新加这段判断代码的意思是:“如果杰瑞碰到蛋糕,那么就广播一条‘加分’的消息”,
接下来,我们实现加分的效果,切换到金币脚本页,从事件模块组里拖入当接收到加分消息代码块,从控制模块组里拖入克隆自已代码块,放到当接收到加分消息代码块的下方,拖入等待1秒代码块,我们设置每次杰瑞找到蛋糕让金币数增加10,所以从控制块组里拖入 循环10次代码块,从数据模块组里拖入将积分增加1代码块,并放入到循环结果里,从控制模块组里拖入等待1秒代码块放到积分累加代码块下方,把循环代码连接到接收到消息代码块的下方,如图:

项目实战课程之寻找蛋糕(六)

这段代码的意思是:“如果接收到加分的消息,就让积分这个变量在1秒内增加10”,现在积分累加的效果已经实现了,我们来操作杰瑞看一下找到蛋糕,看看积分是不是可以累加,

下面我们来实现第二步,在杰瑞碰到蛋糕的一瞬间,让金币能从蛋糕处向积分显示处移动,实现累加的效果,从事件模块组拖动当绿旗被点击代码块,从外观模块组拖动隐藏代码块,当绿旗被点击时,我们先让它隐藏起来,从动作模块组里拖入将旋转模式设置为左右旋转,然后继续拖入面向鼠标指针代码块,将“鼠标指针”切换为“杰瑞”,这段代码的意思是,让幽灵面向杰瑞的方向,方向设置好了,我们让幽灵移动起来就可以实现幽灵逼近杰瑞的效果了,从动作模块组里拖入移动10步代码块,将10步改为1步,运行一下试试吧,

项目实战课程之寻找蛋糕(六)

非常完美,蛋糕被找到后,金币自然累加的效果实现了,每次找到蛋糕后可以累加10个金币,

我们最后再设置一下蛋糕的代码,这个比较简单,只要使用随机数的代码控制蛋糕随机且循环的出现在舞台区就可以了,代码如下:

项目实战课程之寻找蛋糕(六)

到现在为止,我们花了6节课时间,就完成《寻找蛋糕》项目的制作了,是不是迫不及待的要体验一下自已的游戏了啊,快来玩儿玩吧,

寻找蛋糕.mp4

是不是感觉很棒啊!后面我们有更多更精彩的项目等着你呢,我们下节课见吧。

阿达老师——孩子身边的编程专家

 

您必须 登录 才能发表评论!