偵測積木 ( Sensing Blocks )
偵測積木 Sensing Blocks 可以偵測滑鼠的碰觸、顏色的接觸、按下的鍵盤按鍵、麥克風的音量...等資訊,甚至可以產生詢問對話框,讓使用者用打字的方式進行互動,Scratch 裡有許多的遊戲或創作,都是透過偵測積木來實現互動效果。
偵測積木通常會和控制積木搭配,可參考教學:Scratch 3 控制積木
碰到
「碰到」積木可以偵測角色或顏色是否碰到指定的元素,因為是菱形積木,偵測碰到後會產生 true ( 有碰到 ) 的訊息,沒有碰到會產生 false ( 沒碰到 ) 的訊息,積木有三種:
- 碰到滑鼠 / 邊緣 / 角色:偵測角色是否碰到滑鼠、舞台邊緣或是其他的角色。
- 碰到顏色:偵測角色是否碰到另外角色的某種顏色。
- 顏色碰到顏色:偵測角色的某種顏色,是否碰到另外角色的某種顏色。
將碰到滑鼠放在「如果否則」和「重複無限次」的積木裡,有碰到滑鼠的時候讓角色說出「碰到了」,滑鼠移開時移除角色的對話泡泡。
在舞台新增一個恐龍的角色,並將上方程式的碰到積木改成「碰到角色」,加入鍵盤控制貓咪移動的程式,執行後,用鍵盤的左右控制貓咪,碰到恐龍就會說出「碰到了」。
範例:鍵盤移動貓咪碰到恐龍
如果要使用碰到顏色積木,可以用滑鼠點擊顏色,開啟顏色選取工具,接著用滑鼠點擊彈出小視窗下方的「顏色滴管」,就能夠選擇指定的顏色。
接著就能將上方的程式做修改,改成讓貓咪碰到恐龍的「深綠色」才會說話,執行之後,貓咪碰到淺綠色的身體不會說話,碰到深綠色的恐龍頭才會講話。
間距
「間距」積木可以顯示目前角色的中心點,與滑鼠或其他角色中心點的距離。
使用重複無限次的積木,讓角色可以講出目前滑鼠的座標位置。
按下
「按下」積木可以偵測滑鼠或鍵盤的某個按鍵是否被按下,因為是菱形積木,偵測按下後會產生 true ( 有按下 ) 的訊息,沒有按下會產生 false ( 沒按下 ) 的訊息。
將按下滑鼠放在「如果否則」和「重複無限次」的積木裡,按下滑鼠的時候角色就會說出「Hello」,持續一秒後對話泡泡就會消失。
詢問
「詢問」積木使用後,舞台上會出現一個對話框,這時候程式會「等待使用者輸入內容」,輸入完成後才會繼續執行後面的程式,此時後面的程式可以透過「詢問的答案」積木,得到輸入的內容文字。
使用重複無限次的積木,詢問使用者姓名,使用者輸入之後讓角色說出姓名,兩秒後再重來一次。
滑鼠資訊
「滑鼠資訊」積木可以顯示滑鼠的 X 和 Y 座標資訊。
使用重複無限次的積木,在滑鼠移動的時候,讓角色說出滑鼠的 X 座標。
拖曳方式
「拖曳方式」積木可以設定角色是否能夠被滑鼠拖曳。
聲音響度
「聲音響度」積木會顯示「電腦麥克風的音量」,如果有使用這塊積木,會要求允許電腦的麥克風權限。
使用重複無限次的積木,對著麥克風講話的時候,讓角色說出音量的數值 ( 最小 0,最大 100 )。
計時器
「計時器」積木可以讀取 Scratch 專案執行的時間或某些指定狀態經過的時間,有兩種積木:
- 計時器:在沒有重置的狀態下,計時器積木顯示的時間是「Scratch 專案開啟」的時間 ( 所以第一次使用 會覺得怎麼出現了奇怪的數字 ),通常會搭配「計時器重置」使用。
- 計時器重置:將計時器歸零,重新開始計算。
使用重複無限次的積木,就可以透過角色不斷顯示時間,搭配當角色被點擊的積木,就可以在點擊角色時,從零開始重新計算時間。
舞台與角色資訊
「舞台與角色資訊」積木如果選擇「舞台」,可以讀取每個舞台的編號、名稱、音量 ( 不是麥克風音量,是音效的播放音量 ) 和變數。
如果有兩個以上的角色或在背景使用積木,下拉選單就能選擇其他角色,當選擇「角色」,可以讀取該角色的 x/y 座標、方向、造型編號、造型名稱、尺寸和音量。
舉例來說,下圖使用「當角色被點擊」的積木,點擊角色時會將背景換成下一個,並且說出背景名稱。
時間與用戶資訊
「時間與用戶資訊」積木可以讀取目前的時間和用戶資訊,總共有三種:
- 目前的時間:目前的年、月、日、週、時、分、秒。
- 2000 年迄今日數:2000 到現在的天數。
- 用戶名稱:使用者顯示的名稱。
下方的範例可以讓角色講出現在的西元年。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~