控制所有分身的方法
只要熟悉全域变数和区域变数,就可以轻松控制指定的分身,但要如何才能更方便的控制“全部分身”呢?这篇教学会介绍 Scratch 里可以控制所有分身的几种方法。
相关文章参考:全域变数、区域变数、控制指定分身 ( 使用区域变数 )
控制所有分身的方法:
当分身产生时
将分身的控制程序写在“当分身产生时”的区块里,是 Scratch 大部分程序常见的做法 ( 网站中大多数范例也都是这样做 ),以下方的程序码为例,执行后,当鼠标移动时,所有的分身都会面朝鼠标的方向。
由于透过重复循环产生分身,Scratch 会有内建 0.03 秒的时间差 ( 保护避免当机 ),如果要让分身全部同时出现,可以建立“执行完毕再更新画面”的函数来产生分身。
使用产生分身函数,运用同样的原理,就能让每一个分身“同时”进行颜色的变换,如果没有使用函数,会看到不同分身之间会有些微的时间差,造成颜色无法同步。
当角色被点击
有两种方式可以设计“点击分身”的程序,第一种作法是在产生分身后,使用重复循环搭配等待,就能实现点击分身的效果,下方程序执行后,点击分身时分身会旋转。
第二种作法直接使用“当角色被点击”的积木,这块积木点击的角色范围,涵盖了“本尊”与“分身”,因此只需要放置一块积木,就会将程序套用到每个分身。
完成后执行程序,不论是哪种作法,只要点击不同的分身,该分身就会旋转。
收到广播消息
通常在操作广播消息积木时,都是针对角色的“本尊”,但广播信号原理会将信号发送给“舞台上所有的对象”,分身也同时会收到广播信号,运用这个原理,以下图的程序码为例,当时个分身产生完成后,广播 go 信号,接着设定收到 go 信号时开始变色。
程序执行后,分身会“陆续产生”,当分身全部产生完成后,才会一起开始变色。
运用广播的原理,以下图为例,当分身产生后,让本尊重复无限次发送广播信号的程序,接着设定只要收到广播信号,就让角色 ( 本尊与分身 ) 都面朝鼠标,就能实现鼠标移动时,角色随之旋转的效果。
当背景换成
“当背景换成”积木的原理跟广播积木类似,会在背景替换时发送信号,首先设定舞台有两个背景。
设定舞台每隔一秒切换背景。
切换回角色的程序,设定背景换成特定名称时,执行对应的程序。
完成后执行程序,就会发现背景变换时,所有的分身也会跟着改变颜色。
当声音响度大于
“声音响度大于”积木的原理跟广播积木类似,会在麦克风音量大于指定数值时发送信号,下图的程序码执行后,会在音量大于 10 的时候,改变所有分身的尺寸。
小结
“分身”虽然名为“分身”,实际上也属于舞台里“元件”的一分子,只要是舞台中的元件,都可以透过广播、点击、背景变换或声音响度来进行控制,至于哪种控制方法比较适合?就看程序专案的需求来决定要用哪种作法~
微信扫码关注
抖音扫码关注