搜索

Scratch 教程

基本介绍

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

图形与声音

绘制造型&背景 编辑音效

程序积木

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

扩充功能

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

技巧&观念

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

入门范例

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

进阶范例

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

视觉特效范例

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

绘图范例

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

物理&模拟范例

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

入门游戏范例

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

进阶游戏范例

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

团康游戏范例

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

游戏设计技巧

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

控制所有分身的方法

只要熟悉全域变数和区域变数,就可以轻松控制指定的分身,但要如何才能更方便的控制“全部分身”呢?这篇教学会介绍 Scratch 里可以控制所有分身的几种方法。

相关文章参考:全域变数、区域变数、控制指定分身 ( 使用区域变数 )

控制所有分身的方法:

当分身产生时

将分身的控制程序写在“当分身产生时”的区块里,是 Scratch 大部分程序常见的做法 ( 网站中大多数范例也都是这样做 ),以下方的程序码为例,执行后,当鼠标移动时,所有的分身都会面朝鼠标的方向。

Scratch 教学 - 控制所有分身的方法 - 两个全域变数

Scratch 教学 - 控制所有分身的方法 - 两个全域变数

由于透过重复循环产生分身,Scratch 会有内建 0.03 秒的时间差 ( 保护避免当机 ),如果要让分身全部同时出现,可以建立“执行完毕再更新画面”的函数来产生分身。

Scratch 教学 - 控制所有分身的方法 - 执行完毕再更新画面

使用产生分身函数,运用同样的原理,就能让每一个分身“同时”进行颜色的变换,如果没有使用函数,会看到不同分身之间会有些微的时间差,造成颜色无法同步。

Scratch 教学 - 控制所有分身的方法 - 让每一个分身同时进行颜色的变换

Scratch 教学 - 控制所有分身的方法 - 让每一个分身同时进行颜色的变换

当角色被点击

有两种方式可以设计“点击分身”的程序,第一种作法是在产生分身后,使用重复循环搭配等待,就能实现点击分身的效果,下方程序执行后,点击分身时分身会旋转。

Scratch 教学 - 控制所有分身的方法 - 产生分身后,使用重复循环搭配等待

第二种作法直接使用“当角色被点击”的积木,这块积木点击的角色范围,涵盖了“本尊”与“分身”,因此只需要放置一块积木,就会将程序套用到每个分身。

Scratch 教学 - 控制所有分身的方法 - 直接使用“当角色被点击”的积木

完成后执行程序,不论是哪种作法,只要点击不同的分身,该分身就会旋转。

Scratch 教学 - 控制所有分身的方法 - 点击分身时分身会旋转

收到广播消息

通常在操作广播消息积木时,都是针对角色的“本尊”,但广播信号原理会将信号发送给“舞台上所有的对象”,分身也同时会收到广播信号,运用这个原理,以下图的程序码为例,当时个分身产生完成后,广播 go 信号,接着设定收到 go 信号时开始变色。

Scratch 教学 - 控制所有分身的方法 - 广播信号原理会将信号发送给“舞台上所有的对象”

程序执行后,分身会“陆续产生”,当分身全部产生完成后,才会一起开始变色。

Scratch 教学 - 控制所有分身的方法 - 当分身全部产生完成后,才会一起开始变色

运用广播的原理,以下图为例,当分身产生后,让本尊重复无限次发送广播信号的程序,接着设定只要收到广播信号,就让角色 ( 本尊与分身 ) 都面朝鼠标,就能实现鼠标移动时,角色随之旋转的效果。

Scratch 教学 - 控制所有分身的方法 - 让本尊重复无限次发送广播信号的程序

Scratch 教学 - 控制所有分身的方法 - 两个全域变数

当背景换成

“当背景换成”积木的原理跟广播积木类似,会在背景替换时发送信号,首先设定舞台有两个背景。

Scratch 教学 - 控制所有分身的方法 - 在背景替换时发送信号

设定舞台每隔一秒切换背景。

Scratch 教学 - 控制所有分身的方法 - 设定舞台每隔一秒切换背景

切换回角色的程序,设定背景换成特定名称时,执行对应的程序。

Scratch 教学 - 控制所有分身的方法 - 设定背景换成特定名称时,执行对应的程序

完成后执行程序,就会发现背景变换时,所有的分身也会跟着改变颜色。

Scratch 教学 - 控制所有分身的方法 - 背景变换时,所有的分身也会跟着改变颜色

当声音响度大于

“声音响度大于”积木的原理跟广播积木类似,会在麦克风音量大于指定数值时发送信号,下图的程序码执行后,会在音量大于 10 的时候,改变所有分身的尺寸。

Scratch 教学 - 控制所有分身的方法 - 在麦克风音量大于指定数值时发送信号

小结

“分身”虽然名为“分身”,实际上也属于舞台里“元件”的一分子,只要是舞台中的元件,都可以透过广播、点击、背景变换或声音响度来进行控制,至于哪种控制方法比较适合?就看程序专案的需求来决定要用哪种作法~

意见反馈

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