案例1:基础移动动画
在本教程中,你将学习如何在Scratch中创建基础的角色移动动画,掌握角色移动和位置控制的基本技能。
学习目标
- 掌握使用移动积木控制角色位置
- 学习设置角色移动的方向和速度
- 理解坐标系和角色在舞台上的定位
- 创建简单的角色移动路径动画
步骤 1:准备工作
首先,我们需要打开Scratch编辑器并创建一个新项目:
- 打开浏览器,访问 Scratch编辑器
- 点击"创建"按钮开始一个新项目
- 默认情况下,你会看到一个小猫形象在舞台中央
提示
Scratch舞台是一个480×360的坐标系,中心点是(0,0),左上角是(-240,180),右下角是(240,-180)。
Scratch坐标系示意图
步骤 2:基本移动指令
在Scratch中,我们可以使用"移动"积木来控制角色的位置变化。这些积木位于"移动"类别中(蓝色区域)。
主要的移动积木:
- 移动10步
使角色向当前朝向方向移动指定的步数
- 右转15度
顺时针旋转角色指定的角度
- 左转15度
逆时针旋转角色指定的角度
位置设置积木:
- 移到x:0 y:0
立即将角色移动到指定的坐标位置
- 在1秒内滑行到x:0 y:0
平滑地将角色在指定时间内移动到目标位置
- 面向90度
设置角色的朝向角度(0=上,90=右,180=下,-90=左)
简单的来回移动示例:
这段代码会让角色先向右移动10步,然后等待1秒,再向左移动10步,形成简单的来回移动动画。
步骤 3:创建方形路径动画
现在,我们来创建一个让小猫沿着方形路径移动的动画。这将帮助你理解如何组合使用移动和转向积木。
创建代码:
首先,点击"事件"类别(黄色),拖出一个"当绿旗被点击"积木作为程序的启动条件
从"控制"类别(橙色)拖出一个"重复10次"积木,并将其连接到"当绿旗被点击"下方
在"重复10次"积木内部,添加以下积木:
- 移动50步
- 右转90度
效果说明
当点击绿旗后,小猫会沿着方形路径移动,每条边长为50步,转向90度,总共重复10次。这将创建一个沿着方形轨迹移动的动画效果。
如果你希望动画更加平滑,可以增加重复次数,并减小每次移动的步数。
步骤 4:使用滑行效果创建平滑动画
前面的例子使用"移动"积木创建的动画可能看起来有些机械。现在,我们将学习如何使用"滑行"积木创建更加平滑的动画效果。
创建圆形轨迹动画:
- 点击"事件"类别,拖出一个新的"当绿旗被点击"积木
- 从"移动"类别中,找到"移到x:0 y:0"积木,设置为"移到x:0 y:100"(将小猫放在顶部中央)
- 添加一个"面向90度"积木(让小猫朝向右侧)
从"控制"类别拖出一个"重复执行"积木(无限循环)
- 在循环内部,添加"在2秒内滑行到x:100 y:0"积木
- 再添加"在2秒内滑行到x:0 y:-100"积木
- 再添加"在2秒内滑行到x:-100 y:0"积木
- 最后添加"在2秒内滑行到x:0 y:100"积木
效果说明
这段代码会让小猫沿着一个矩形路径平滑移动,因为使用了"滑行"积木而不是"移动"积木,所以动画看起来更加流畅自然。整个动作将无限循环重复。
创意挑战:
尝试修改上面的代码,创建不同的移动路径。你可以:
- 调整坐标值创建不同形状的路径
- 改变滑行的时间使动画速度变快或变慢
- 添加"等待"积木在某些位置暂停
- 结合"旋转"积木实现更复杂的动作
步骤 5:利用变量创建动态动画
接下来,我们将学习如何使用变量来创建更加动态和有趣的动画效果。
创建速度变量:
- 点击"变量"类别(橙色)
- 点击"创建一个变量"按钮
- 将变量命名为"速度",点击确定
创建加速移动动画:
点击"事件"类别,拖出一个"当绿旗被点击"积木
添加"将速度设为1"积木初始化变量
添加"移到x:0 y:0"积木(回到中心位置)
添加"面向90度"积木(朝向右侧)
从"控制"类别拖出一个"重复执行"积木
- 在循环内,添加"移动[速度]步"积木(使用变量控制移动速度)
- 添加"碰到边缘就反弹"积木(防止角色移出舞台)
- 添加"将速度增加0.1"积木(让移动速度逐渐增加)
- 添加"等待0.01秒"积木(控制动画帧率)
效果说明
这段代码会让小猫从中心开始向右移动,速度从1开始逐渐增加。当小猫碰到舞台边缘时会反弹,继续以越来越快的速度移动。这创造了一种加速动画效果。
注意
如果速度变量增长过快,角色的移动可能会变得非常快。你可以添加一个条件检查,例如"如果速度>10,则将速度设为10"来限制最大速度。
总结与挑战
恭喜!你已经学会了在Scratch中创建基础移动动画的多种方法:
- 使用基本的移动积木控制角色位置
- 创建沿特定路径移动的角色动画
- 使用滑行积木制作平滑动画效果
- 利用变量创建动态变化的动画
进阶挑战:
尝试创建以下动画效果:
- 让角色沿着"8"字形路径移动
- 创建随机移动的效果(使用"随机数"积木)
- 让角色跟随鼠标指针移动
- 组合多种移动方式,创造复杂的运动轨迹