搜索

Scratch 教程

基本介绍

使用 Scratch 3 注册与登录 操作界面 我的东西

图形与声音

绘制造型&背景 编辑音效

程序积木

积木种类 动作 外观 音效 事件 控制 侦测 运算 变数 清单 函数积木

扩充功能

音乐 画笔 视频侦测 文字转语音 翻译

技巧&观念

全域变数、区域变数 深入理解区域变数 控制指定分身 控制所有分身的方法 云端变数 云端变数记录文字 变数串接文字 判断英文字母大小写 中断与停止程序 广播消息并等待 键盘与鼠标 鼠标点击与长按 侦测所有键盘按键 点击隐藏的角色 突破角色尺寸限制 角色与舞台边界 重复积木的等待时间 音乐暂停与继续播放 使用造型名称建立清单 使用造型代替变数 文字转清单 清单合并为文字 判断两个清单是否相同 复制清单、反转清单 清单数字排序 清单最大值最小值

入门范例

键盘控制猫咪 指向中间的箭头 水果音乐钢琴 猫咪的影分身之术 猫咪的细胞分裂 螃蟹跑来跑去 吃水果 摸蝴蝶 小狗追棒球 鱼儿水中游 小鸟往前飞 舞棍阿伯 小时钟 摇骰子 转动的眼球 抽奖轮盘 大乐透电脑选号 卡牌抽签 ( 20 中 1 ) 移动到边缘切换场景 人物依序跳舞 ( 广播 ) 按钮控制猫咪 ( 广播 )

进阶范例

猫咪跑步 ( 连续背景 ) 猫咪跑步 ( 超长背景 ) 大型数字 ( 图形数字 ) 拖拉怪兽碰撞墙壁 键盘钢琴 ( 记录音符 ) 中文字逐字稿 英文字逐字稿 计算机 1 ( 显示数字 ) 计算机 2 ( 加减乘除 ) 云端聊天室 音乐播放器 推猫咪 ( 视频侦测 ) 围捕小鱼 ( 视频侦测 ) 戳泡泡 ( 视频侦测 )

视觉特效范例

视差效果 水中吐泡泡 雪花随风飘 键盘钢琴 ( 音符动画 ) 无限循环画中画 水底探照灯 狙击望远镜 ( 两倍变焦 ) 猫咪万花筒 仙女棒 ( 光迹效果 ) 骇客任务背景特效 放烟火 1 ( 往上发射 ) 放烟火 2 ( 爆炸效果 )

绘图范例

镜射画图 ( 对称图形 ) 小画家 ( 舞台上画图 ) 记录画图轨迹 绘制圆形 绘制椭圆形 绘制立方体 ( 会动 ) 绘制正多边形 绘制正多角星形 ( 单纯 ) 绘制正多角星形 ( 多线 ) 绘制抛物线 绘制折线图 绘制圆饼图 绘制圆饼图 ( 指示线 ) 蜘蛛结网 ( 八边形网 ) 绘制舞台方格 绘制正弦波形 ( sin ) 正弦波毛毛虫动画 显示声波图形

物理&模拟范例

钟摆运动 简单磁铁效果 两个磁铁的磁力线 立体空间 ( 三度空间 ) 循迹移动 抛物线发射炮弹 地球绕着太阳转 弹跳的篮球 电风扇 ( 控制强度 ) 拉不走的弹力球 惯性移动 ( 鼠标 ) 惯性移动 ( 键盘 )

入门游戏范例

猴子接香蕉 打地鼠 打地鼠 ( 体感视频侦测 ) 刮刮乐 吹风机吹头发 太空狗闪躲陨石 九九乘法测验 英文单字测验 钓鱼游戏 拍西瓜 ( 储存最高分 ) 宝可梦猜猜我是谁 ( 基本 ) 形状配对拼图 台湾地图拼图 英文打字机 英文打字机 ( 判断大小写 ) 射击外星人 猜数字 ( 猜大小 ) 猜数字 ( 几 A 几 B ) 连连看 ( 产生器 ) 连连看

进阶游戏范例

青蛙过河 青蛙过马路 反弹球 ( 乒乓球 ) 打砖块 狙击气球 ( 两倍变焦 ) Flappy Bird Flappy Bird ( 声控版 ) 走迷宫 ( 基本 ) 大型迷宫 ( 键盘控制 ) 大型迷宫 ( 鼠标控制 ) 翻卡记忆游戏 翻卡记忆游戏 ( 改良版 ) 井字棋 ( 圈圈叉叉 ) 九宫格拼图 九宫格拼图 ( 改良版 ) 音阶记忆 贪吃蛇 ( 分身版 ) 贪吃蛇 ( 画笔版 ) 小鸡下楼梯 拉霸机

团康游戏范例

摇骰子 ( 1~3 个 ) 比手画脚 ( 猜动物 ) 音乐传球游戏 大声公 ( 比赛谁的气长 ) 抽签 ( 可调整中签数量 ) 转盘指针 ( 指到谁就当鬼 ) 倒数计时器 ( 基本版 ) 倒数计时器 ( 大数字版 )

游戏设计技巧

角色 ( 地上移动 ) 角色 ( 蹲下、左右转 ) 角色 ( 跳耀、两段跳 ) 角色 ( 墙壁、爬墙 ) 地图 ( 清单转换 ) 地图 ( 二维数组 ) 地图 ( 控制移动 ) 地图 ( 墙壁碰撞侦测 ) 地图 ( 吃东西侦测 ) 俄罗斯方块 ( 角色与背景 ) 俄罗斯方块 ( 移动与碰撞 ) 俄罗斯方块 ( 放置方块 ) 俄罗斯方块 ( 消除完成方块 ) 俄罗斯方块 ( 下个形状 )

音乐传球游戏

这篇教学会使用 Scratch 的角色造型、清单和广播,搭配声音的播放与暂停功能,实作团康里常见的“音乐传球游戏”游戏。

快速导览:

音乐传球游戏怎么玩?

“音乐传球游戏”是常见的团康游戏,玩法就是所有人围成一个圈,其中一个人拿着一颗球 ( 或其他物品 ),音乐开始时往左或往右传,音乐停止时“手上有球的人”就要接受处罚。

Scratch 教学 - 音乐传球游戏

绘制角色

使用绘画的方式建立角色“music”,负责显示音乐的歌名,以及播放不同的音乐曲目,角色造型使用文字呈现音乐名称,造型名称使用“音乐名称”。

Scratch 教学 - 音乐传球游戏 - 显示音乐的歌名

使用绘画的方式建立角色“btn_select”,负责切换音乐,以及呈现目前音乐的状态,角色共有三个造型,造型名称 green 表示准备开始或暂停中 ( 点击后会开始播 ),造型名称 red 表示正在播放,造型名称 gray 表示尚未选取该音乐。

Scratch 教学 - 音乐传球游戏 - 切换音乐,以及呈现目前音乐的状态

使用绘画的方式建立角色“btn_slay”,负责播放音乐或暂停音乐,角色共有三个造型,造型名称 start 点击后会开始播,造型名称 continue 表示音乐暂停,点击后会继续播,造型名称 playing 表示音乐正在播,点击后音乐会暂停。

Scratch 教学 - 音乐传球游戏 - 播放音乐或暂停音乐

新增 min 和 max 两个变数,并按照下图,将两个变数和三个角色排列在舞台上,在变数上点击右键选择“滑杆”,将变数设定为滑杆显示模式。

Scratch 教学 - 音乐传球游戏 - 将变数设定为滑杆显示模式

上传音乐

点击“music”角色,切换到“音效”页签,使用上传的方式上传音乐,设定“音乐名称”与“造型名称”相同,举例来说如果有四首音乐,就会有四个造型,且造型名称和音乐名称完全相同。

Scratch 教学 - 音乐传球游戏 - 将变数设定为滑杆显示模式

程序原理 ( music 音乐 )

编辑“music”角色程序,建立“建立音乐清单”函数,勾选“执行完毕后再更新画面”。

Scratch 教学 - 音乐传球游戏 - 建立“建立音乐清单”函数

参考“使用造型名称建立清单”,使用“建立音乐清单”函数将造型名称建立为清单,并在点击绿旗时执行函数,新增 music_name 变数纪录目前的音乐名称,完成后发送 start 广播信号。

Scratch 教学 - 音乐传球游戏 - 将造型名称建立为清单

按照下图建立四个接收广播的机制,机制说明如下:

接收的广播信号 说明
new 切换新的音乐,停止播放所有音乐,等待点击按钮开始。
go 从头开始播放指定音乐。
play 播放正在暂停中的音乐。
pause 暂停音乐,使用“音乐播放、暂停、继续播放、停止”的做法。

Scratch 教学 - 音乐传球游戏 - 将造型名称建立为清单

程序原理 ( btn_select 选择音乐 )

编辑“btn_select”角色程序,建立“建立分身”函数,勾选“执行完毕后再更新画面”。

Scratch 教学 - 音乐传球游戏 - 建立“建立分身”函数

点击绿旗时隐藏角色,接收广播 start 时执行函数 ( 目的在于确保 music_list 的内容完成后才建立分身 ),“建立分身”函数内容会根据 music_list 的长度,透过重复循环的方式,几首音乐就建立几个分身。

Scratch 教学 - 音乐传球游戏 - 建立“建立分身”函数

建立 name_local 变数,将变数设定为“仅适用当前角色”的区域变数。

Scratch 教学 - 音乐传球游戏 - 仅适用当前角色

设定产生每个分身时,将全域变数 n 增加 1,并根据当下的 n,设定区域变数 name_local 为指定的清单项目,让每个分身都有不同的 name_local 数值,接着设定点击分身时,将变数 music_name 设定为这个分身的 name_local 数值。

Scratch 教学 - 音乐传球游戏 - 让每个分身都有不同的 name_local 数值

建立接收广播 new、go、play 和 pause 的机制,当收到 new 时,先将所有分身改成灰色,再根据 music_name 和每个分身的 name_local 对照,如果相等就将这个分身改成绿色。

Scratch 教学 - 音乐传球游戏 - 接收广播 new、go、play 和 pause 的机制

程序原理 ( btn_play 播放音乐 )

编辑“btn_play”角色程序,设定不同造型时的点击行为,如果是 start 就发送 go 和切换为 playing,如果是 playing 就发送 pause 并切换为 continue,如果是 continue 就发送 play 和切换为 playing。

Scratch 教学 - 音乐传球游戏 - 设定不同造型时的点击行为

新增“倒数几秒”函数,负责处理倒数结束后音乐暂停的逻辑。

Scratch 教学 - 音乐传球游戏 - 建立“倒数几秒”函数

建立接收广播 new、go、play 和 pause 的机制,new 和 go 都会中止这个角色的重复循环,play 和 pause 则会执行念出倒数秒数的程序逻辑。

Scratch 教学 - 音乐传球游戏 - 设定不同造型时的点击行为

效果展示

Scratch 教学 - 音乐传球游戏 - 效果展示

范例解答

范例解答:Scratch 教学 - 音乐传球游戏

意见反馈

微信二维码 微信扫码关注 抖音二维码 抖音扫码关注