使用造型代替变数
使用 Scratch 时,常常会用到“变数”进行数值的沟通传递,这篇教学会介绍使用“角色造型”来代替变数,透过造型名称纪录一些不会变动但又需要切换的数值。
快速导览:
运用造型名称设定角色状态
在 Scratch 里建立一个新角色,切换到造型页签,设定角色只有“一组造型”,并将造型名称设定为 run,在造型上方按下右键选择“复制”,复制同样的一组造型。
复制造型后,将复制的造型名称改为 stop,这个角色就会具有两个长相一模一样,但名称分别为 run 与 stop 的造型。
过去要实作“点击角色开始旋转、再点击一次就停止旋转”的范例,通常会新增一个变数,透过变数数值的变化,判断何时该转动或何时该停止,下图呈现“常见”的写法。
如果改用“造型名称”的做法,可以在点击角色时,切换角色造型,并根据角色造型决定角色是否要旋转。
完成后,透过点击角色的方式,就可以控制角色旋转和停止。
如果更近一步将点击的做法,改成“广播”的方式,就能在点击角色时,同时控制其他的角色,以下图为例,点击角色时发送 click 广播信号,并将原本点击旋转的程序,改为收到广播 click 时再执行。
建立一个新的角色,使用“完全相同”的程序码,就可以在点击角色时,控制所有角色的旋转或停止。
使用造型名称设定角色座标
延续上一个小节的内容,新增另外一个按钮角色,设定角色有四个“一模一样”的造型,造型名称从上到下分别是 -150、-50、50、150。
设定按钮角色的程序,点击绿旗时设定造型是第一组名称为 -150 的造型,点击角色时将变数 x 设定为该造型名称,接着切换造型并发送广播信号 move。
新增另外一个想要被控制移动的角色,设定收到广播信号 move 时,滑行到指定的 x 座标。
完成后,就可以使用造型名称纪录位置,每次点击时将角色移动到指定的座标。
使用造型名称控制分身
如果将同样的做法套用到“分身”,就能在“不使用区域变数”的状况下,控制不同的分身,首先新增要控制的角色,将角色设定三组造型 ( 造型不一定要相同 ),名称分别是 run1、run2 和 run3。
新增一个名为“建立分身”的函数,勾选“执行完毕再更新画面”。
编辑这个角色的程序,点击绿旗时执行函数,建立五十个分身,每次建立分身时,本尊都会切换造型。
新增一个变数 name,设定如果收到广播消息 click,判断如果造型名称跟 name 相同,就开始旋转。
新增另外一个角色 button,替角色绘制三组“一模一样”的造型,造型名称分别是 run1、run2 和 run3。
编辑这个角色的程序,点击角色时,设定变数 name 为目前的造型名称,接着发送广播信号 click 并切换造型。
完成后,就能在点击按钮时,呼叫不同的分身旋转。
小结
使用造型名称代替变数,虽然只能替代一些“简单”的变数数值,但却能解决许多要用变数才能处理的状况,如果这些状况很简单,不妨使用造型名称,就不必要额外建立变数啰~
微信扫码关注
抖音扫码关注