合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
说明: 1、斜体表示需要添加动画效果展示 2、`1234` 引用字体表示为scratch代码块名称 * * * * * * * * * * * * * * * ## 复习上节课学习的内容 小朋友们好!我是阿达老师。咱们 已经完成了《星星猎手》游戏的制作,相信你在完成作品的那个瞬间心里一定很得意吧,自已亲手完成一件作品是非常有成就感的事情,今天阿达老师就来教你们做一款新的游戏,这个游戏的名字叫做《追逐奶酪》。 我们就正式进入这节课的学习内容吧! ## 本节课知识点 使用键盘右下角的方向键控制角色移动 ## 游戏背景介绍 ![](https://ws1.sinaimg.cn/large/6bd2803cgy1fuoo8kz5h2j21ie14i43b.jpg) 首先,我们来看一下这个游戏的运行效果。,应该可以猜到这是一款迷宫类游戏,迷宫游戏是世界上最早出现,也是最流行的游戏之一。我们需要在迷宫里快速思考,判断出最快、最合理的路径,其间还需要躲避怪兽,收集宝物,以上这些元素在我们今天这个游戏里统统都有,我们一起开始吧 小老鼠杰瑞很饿,它被困在的迷宫里,同时,它也闻到了蛋糕的幽香。我们可以看到蛋糕被放在一个精美的蛋糕盒里,我们现在要帮助它找到蛋糕,同时还需要注意躲避邪恶的甲虫,并且还要小心幽灵,碰到幽灵和甲虫中的任何一个 游戏就会结束 ## 视频实战 我们打开网易咔嗒,因为这节课我们是创作一个全新的作品,所以,直接在首页点击“开始创作”按钮,进入scratch的编程环境 我们分别要对 杰瑞、甲虫、幽灵 三个角色进行编码, ## 项目分析,把问题分解之后,我们要完成以下工作: ## 1、背景 我们要设置背景区的围墙, 这个可以用画笔功能制作完成*(视频展示:画笔绘制背景动画效果)* ## 2、杰瑞: 我们要实现通过键盘上的方向键控制它上下左右移动,并且不能穿过围墙(视频展示:杰瑞上下左右移动动画效果)* ## 3、甲虫: 甲虫沿着墙壁快速爬行,当碰到墙壁的时候,它会随机调转方向,当杰瑞磁到甲虫的时候游戏就结束*(视频展示:杰瑞碰到甲虫效果)* ## 4、幽灵: 幽灵可以从墙的上方飘过,它们会出其不意的出现在舞台区的任何位置,然后又消失,当杰瑞磁到幽灵的时候游戏同样结束*(视频展示:杰瑞碰到幽灵效果)* 《寻找蛋糕》这个项目需要用五到六节课的时间来完成,我们这节课先来实现通过键盘控制杰瑞移动的代码吧, 我们先从角色区点击导入角色按钮,从左侧的分类栏里选择***动物***类别,找到小老鼠,点击“确定”,小老鼠就导入到我们的角色区了 首先,我们先要设置舞台的背景区,也就是要设置迷宫的道路区域,这部分我们可以自由发挥,我们可以在白纸上画一个迷宫的形状,然后用手机把我们设计的迷宫道路拍下来,上传到电脑,再导入成为我们的背景, 也可以直接设置一个蓝色背景,然后自已画迷宫道路,在这里阿达老师使用的是第二种方式,用画笔模块组里的代码块画了一个迷宫围墙,画笔的使用技巧我们在自定义模块的课程中已经学习过了,在这里和阿达老师一起复习一下吧 ## 自定义模块知识点讲解 我们到目前为止已经学习了很多个代码块了,这些代码块可以各自完成特定的功能,比如`移动10步`代码块,我们并不知道他是如何实现移动功能的,我们只知道调用这个代码块的时候可以实现角色移动的效果,这就是我们通常编程里面说的封装的概念,所谓封装,就是把可以实现一段功能的算法写在一个子程序里(在一些主流的编程语言中也叫函数或者方法)然后给这个子程序起一个名字,我们想要实现这个功能的时候直接调用这个子程序就可以了,而这个我们自已编写的子程序在我们的scratch就称之为“自定义模块” 现在就开始我们的迷宫工程设计吧,从事件模块组里拖动`当绿旗被点击`代码块到脚本区,然后从画笔模块组里拖动`清空`代码块出来,`清空`这个代码块的作用是把我们已经画出来的线段清空, 接下来进行自定义模块的创建,选择更多模块组,点击`新建功能模块`,在弹窗里输入自定义模块的名字,我们把名字设置为“左上角围墙” 再点击确定,在脚本区就会出现一个新创建的紫色模块了, 有了我们自已的积木块,我们还需要对新建的积木块进行算法设计,我们现在要实现在舞台区的左上角画一个直角围墙,首先,我们需要先做一下初始化, 1、先初始化位置,从动作模块组里拖动`移到x...y...`代码块出来,设置起始坐标为(-200,100) 2、再从画笔模块组里拖动`将画笔颜色设定为`代码块出来,设置颜色为紫色 3、从画笔模块组里拖动`将画笔大小设定为`代码块出来,设置画笔大小为15 做完以上初始化操作,我们就可以开始执行绘画步骤了,小朋友们平时写字的时候第一步是不是要把笔尖放到纸张上然后进行移动来写字呢,在scratch`落笔`这个代码块就是执行的“把笔尖放到纸张上的动作”,而`抬笔`执行的就是我们写完字笔尖从纸张离开的动作,而`落笔`和`抬笔`两个代码块之间的操作就是所画线段的移动轨迹了,我们从动作模块组里拖动`将x坐标增加`代码块出来,将数字改为130,拖动`向右旋转15度`代码块出来,装饰数字改为90度,再拖动`将y坐标增加`代码块出来,把这三个代码块放入到`落笔`和`抬笔`代码块中间,这样在舞台区左上角画一个直角围墙的积木块就完成了, 我们在`当绿旗被点击`代码块的下方调一下我们刚刚完成的自定义模块,然后点击绿旗调试一下,一个直角就完成了,然后我们在左下角以及舞台区的右侧依次绘制出我们想要的迷宫围墙,学习了上面的步骤,我们是不是可以依照自已的想法来随心所欲的绘制迷宫地图了呢? ## 小灶时间