搜尋

偵測積木 ( Sensing Blocks )

偵測積木 Sensing Blocks 可以偵測滑鼠的碰觸、顏色的接觸、按下的鍵盤按鍵、麥克風的音量...等資訊,甚至可以產生詢問對話框,讓使用者用打字的方式進行互動,Scratch 裡有許多的遊戲或創作,都是透過偵測積木來實現互動效果。

偵測積木有幾個分類:碰到間距按下詢問滑鼠資訊拖曳方式聲音響度計時器舞台與角色資訊時間與用戶資訊

偵測積木通常會和控制積木搭配,可參考教學:Scratch 3 控制積木

碰到

「碰到」積木可以偵測角色或顏色是否碰到指定的元素,因為是菱形積木偵測碰到後會產生 true ( 有碰到 ) 的訊息,沒有碰到會產生 false ( 沒碰到 ) 的訊息,積木有三種:

  • 碰到滑鼠 / 邊緣 / 角色:偵測角色是否碰到滑鼠、舞台邊緣或是其他的角色。
  • 碰到顏色:偵測角色是否碰到另外角色的某種顏色。
  • 顏色碰到顏色:偵測角色的某種顏色,是否碰到另外角色的某種顏色。

Scratch 教學 - 偵測積木 Sensing Blocks - 碰到

將碰到滑鼠放在「如果否則」和「重複無限次」的積木裡,有碰到滑鼠的時候讓角色說出「碰到了」,滑鼠移開時移除角色的對話泡泡。

Scratch 教學 - 偵測積木 Sensing Blocks - 碰到滑鼠

在舞台新增一個恐龍的角色,並將上方程式的碰到積木改成「碰到角色」,加入鍵盤控制貓咪移動的程式,執行後,用鍵盤的左右控制貓咪,碰到恐龍就會說出「碰到了」。

範例:鍵盤移動貓咪碰到恐龍

Scratch 教學 - 偵測積木 Sensing Blocks - 碰到角色

如果要使用碰到顏色積木,可以用滑鼠點擊顏色,開啟顏色選取工具,接著用滑鼠點擊彈出小視窗下方的「顏色滴管」,就能夠選擇指定的顏色。

Scratch 教學 - 偵測積木 Sensing Blocks - 顏色選取工具

接著就能將上方的程式做修改,改成讓貓咪碰到恐龍的「深綠色」才會說話,執行之後,貓咪碰到淺綠色的身體不會說話,碰到深綠色的恐龍頭才會講話。

Scratch 教學 - 偵測積木 Sensing Blocks - 碰到顏色

間距

「間距」積木可以顯示目前角色的中心點,與滑鼠或其他角色中心點的距離。

Scratch 教學 - 偵測積木 Sensing Blocks - 間距

使用重複無限次的積木,讓角色可以講出目前滑鼠的座標位置。

Scratch 教學 - 偵測積木 Sensing Blocks - 偵測與滑鼠的間距

按下

「按下」積木可以偵測滑鼠或鍵盤的某個按鍵是否被按下,因為是菱形積木,偵測按下後會產生 true ( 有按下 ) 的訊息,沒有按下會產生 false ( 沒按下 ) 的訊息

Scratch 教學 - 偵測積木 Sensing Blocks - 按下積木

將按下滑鼠放在「如果否則」和「重複無限次」的積木裡,按下滑鼠的時候角色就會說出「Hello」,持續一秒後對話泡泡就會消失。

Scratch 教學 - 偵測積木 Sensing Blocks - 按下滑鼠

詢問

「詢問」積木使用後,舞台上會出現一個對話框,這時候程式會「等待使用者輸入內容」,輸入完成後才會繼續執行後面的程式,此時後面的程式可以透過「詢問的答案」積木,得到輸入的內容文字。

Scratch 教學 - 偵測積木 Sensing Blocks - 詢問積木

使用重複無限次的積木,詢問使用者姓名,使用者輸入之後讓角色說出姓名,兩秒後再重來一次。

Scratch 教學 - 偵測積木 Sensing Blocks - 詢問姓名

滑鼠資訊

「滑鼠資訊」積木可以顯示滑鼠的 X 和 Y 座標資訊。

Scratch 教學 - 偵測積木 Sensing Blocks - 滑鼠資訊積木

使用重複無限次的積木,在滑鼠移動的時候,讓角色說出滑鼠的 X 座標。

Scratch 教學 - 偵測積木 Sensing Blocks - 顯示滑鼠 X 座標

拖曳方式

「拖曳方式」積木可以設定角色是否能夠被滑鼠拖曳。

Scratch 教學 - 偵測積木 Sensing Blocks -  拖曳方式積木

聲音響度

「聲音響度」積木會顯示「電腦麥克風的音量」,如果有使用這塊積木,會要求允許電腦的麥克風權限。

Scratch 教學 - 偵測積木 Sensing Blocks -  聲音響度積木

使用重複無限次的積木,對著麥克風講話的時候,讓角色說出音量的數值 ( 最小 0,最大 100 )。

Scratch 教學 - 偵測積木 Sensing Blocks - 顯示聲音響度

計時器

「計時器」積木可以讀取 Scratch 專案執行的時間或某些指定狀態經過的時間,有兩種積木:

  • 計時器:在沒有重置的狀態下,計時器積木顯示的時間是「Scratch 專案開啟」的時間 ( 所以第一次使用 會覺得怎麼出現了奇怪的數字 ),通常會搭配「計時器重置」使用。
  • 計時器重置:將計時器歸零,重新開始計算。

Scratch 教學 - 偵測積木 Sensing Blocks -  計時器積木

使用重複無限次的積木,就可以透過角色不斷顯示時間,搭配當角色被點擊的積木,就可以在點擊角色時,從零開始重新計算時間。

Scratch 教學 - 偵測積木 Sensing Blocks - 計時器顯示時間

舞台與角色資訊

「舞台與角色資訊」積木如果選擇「舞台」,可以讀取每個舞台的編號、名稱、音量 ( 不是麥克風音量,是音效的播放音量 ) 和變數。

Scratch 教學 - 偵測積木 Sensing Blocks -  舞台資訊積木

如果有兩個以上的角色或在背景使用積木,下拉選單就能選擇其他角色,當選擇「角色」,可以讀取該角色的 x/y 座標、方向、造型編號、造型名稱、尺寸和音量。

Scratch 教學 - 偵測積木 Sensing Blocks -  舞台資訊積木

舉例來說,下圖使用「當角色被點擊」的積木,點擊角色時會將背景換成下一個,並且說出背景名稱。

Scratch 教學 - 偵測積木 Sensing Blocks - 顯示舞台背景名稱

時間與用戶資訊

「時間與用戶資訊」積木可以讀取目前的時間和用戶資訊,總共有三種:

  • 目前的時間:目前的年、月、日、週、時、分、秒。
  • 2000 年迄今日數:2000 到現在的天數。
  • 用戶名稱:使用者顯示的名稱。

Scratch 教學 - 偵測積木 Sensing Blocks -  舞台資訊積木

下方的範例可以讓角色講出現在的西元年。

Scratch 教學 - 偵測積木 Sensing Blocks -  顯示時間

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

Scratch 教學

基本介紹

關於 Scratch 使用 Scratch 3 註冊與登入 操作介面 我的東西

圖形與聲音

繪製造型&背景 編輯音效

程式積木

積木種類 動作 外觀 音效 事件 控制 偵測 運算 變數 清單 函式積木

擴充功能

音樂 畫筆 視訊偵測 文字轉語音 翻譯

技巧&觀念

全域變數、區域變數 深入理解區域變數 控制指定分身 控制所有分身的方法 雲端變數 雲端變數記錄文字 變數串接文字 判斷英文字母大小寫 中斷與停止程式 廣播訊息並等待 鍵盤與滑鼠 滑鼠點擊與長按 偵測所有鍵盤按鍵 點擊隱藏的角色 突破角色尺寸限制 角色與舞台邊界 重複積木的等待時間 音樂暫停與繼續播放 使用造型名稱建立清單 使用造型代替變數 文字轉清單 清單合併為文字 判斷兩個清單是否相同 複製清單、反轉清單 清單數字排序 清單最大值最小值

入門範例

鍵盤控制貓咪 指向中間的箭頭 水果音樂鋼琴 貓咪的影分身之術 貓咪的細胞分裂 螃蟹跑來跑去 吃水果 摸蝴蝶 小狗追棒球 魚兒水中游 小鳥往前飛 舞棍阿伯 小時鐘 搖骰子 轉動的眼球 抽獎輪盤 大樂透電腦選號 卡牌抽籤 ( 20 中 1 ) 移動到邊緣切換場景 人物依序跳舞 ( 廣播 ) 按鈕控制貓咪 ( 廣播 )

進階範例

貓咪跑步 ( 連續背景 ) 貓咪跑步 ( 超長背景 ) 大型數字 ( 圖形數字 ) 拖拉怪獸碰撞牆壁 鍵盤鋼琴 ( 記錄音符 ) 中文字逐字稿 英文字逐字稿 計算機 1 ( 顯示數字 ) 計算機 2 ( 加減乘除 ) 雲端聊天室 音樂播放器 推貓咪 ( 視訊偵測 ) 圍捕小魚 ( 視訊偵測 ) 戳泡泡 ( 視訊偵測 )

視覺特效範例

視差效果 水中吐泡泡 雪花隨風飄 鍵盤鋼琴 ( 音符動畫 ) 無限循環畫中畫 水底探照燈 狙擊望遠鏡 ( 兩倍變焦 ) 貓咪萬花筒 仙女棒 ( 光跡效果 ) 駭客任務背景特效 放煙火 1 ( 往上發射 ) 放煙火 2 ( 爆炸效果 )

繪圖範例

鏡射畫圖 ( 對稱圖形 ) 小畫家 ( 舞台上畫圖 ) 記錄畫圖軌跡 繪製圓形 繪製橢圓形 繪製立方體 ( 會動 ) 繪製正多邊形 繪製正多角星形 ( 單純 ) 繪製正多角星形 ( 多線 ) 繪製拋物線 繪製折線圖 繪製圓餅圖 繪製圓餅圖 ( 指示線 ) 蜘蛛結網 ( 八邊形網 ) 繪製舞台方格 繪製正弦波形 ( sin ) 正弦波毛毛蟲動畫 顯示聲波圖形

物理&模擬範例

鐘擺運動 簡單磁鐵效果 兩個磁鐵的磁力線 立體空間 ( 三度空間 ) 循跡移動 拋物線發射炮彈 地球繞著太陽轉 彈跳的籃球 電風扇 ( 控制強度 ) 拉不走的彈力球 慣性移動 ( 滑鼠 ) 慣性移動 ( 鍵盤 )

入門遊戲範例

猴子接香蕉 打地鼠 打地鼠 ( 體感視訊偵測 ) 刮刮樂 吹風機吹頭髮 太空狗閃躲隕石 九九乘法測驗 英文單字測驗 釣魚遊戲 拍西瓜 ( 儲存最高分 ) 寶可夢猜猜我是誰 ( 基本 ) 形狀配對拼圖 台灣地圖拼圖 英文打字機 英文打字機 ( 判斷大小寫 ) 射擊外星人 猜數字 ( 猜大小 ) 猜數字 ( 幾 A 幾 B ) 連連看 ( 產生器 ) 連連看

進階遊戲範例

青蛙過河 青蛙過馬路 反彈球 ( 乒乓球 ) 打磚塊 狙擊氣球 ( 兩倍變焦 ) Flappy Bird Flappy Bird ( 聲控版 ) 走迷宮 ( 基本 ) 大型迷宮 ( 鍵盤控制 ) 大型迷宮 ( 滑鼠控制 ) 翻卡記憶遊戲 翻卡記憶遊戲 ( 改良版 ) 井字棋 ( 圈圈叉叉 ) 九宮格拼圖 九宮格拼圖 ( 改良版 ) 音階記憶 貪吃蛇 ( 分身版 ) 貪吃蛇 ( 畫筆版 ) 小雞下樓梯 拉霸機

團康遊戲範例

搖骰子 ( 1~3 個 ) 比手畫腳 ( 猜動物 ) 音樂傳球遊戲 大聲公 ( 比賽誰的氣長 ) 抽籤 ( 可調整中籤數量 ) 轉盤指針 ( 指到誰就當鬼 ) 倒數計時器 ( 基本版 ) 倒數計時器 ( 大數字版 )

遊戲設計技巧

角色 ( 地上移動 ) 角色 ( 蹲下、左右轉 ) 角色 ( 跳耀、兩段跳 ) 角色 ( 牆壁、爬牆 ) 地圖 ( 清單轉換 ) 地圖 ( 二維陣列 ) 地圖 ( 控制移動 ) 地圖 ( 牆壁碰撞偵測 ) 地圖 ( 吃東西偵測 ) 俄羅斯方塊 ( 角色與背景 ) 俄羅斯方塊 ( 移動與碰撞 ) 俄羅斯方塊 ( 放置方塊 ) 俄羅斯方塊 ( 消除完成方塊 ) 俄羅斯方塊 ( 下個形狀 )