iT邦幫忙

2021 iThome 鐵人賽

DAY 20
0
自我挑戰組

Scratch 3 從入門到精通系列 第 20

Day20 ( 中級 ) 拉不走的彈力球

拉不走的彈力球

教學原文參考:拉不走的彈力球

這篇文章會介紹,如何在 Scratch 3 裡使用擴充功能的畫筆、角色移動、重複無限次、偵測滑鼠按下、偵測碰到滑鼠...等積木,實作一個不管怎麼拉都拉不走,最後都會回到中心的彈力球。

相關文章參考:擴充功能的畫筆重複移動偵測滑鼠按下

角色設定

在角色編輯區,刪除貓咪角色,加入「足球」的角色 ( 參考:Scratch 角色設定 )。

Scratch 3 教學 - 拉不走的彈力球

積木程式原理

首先使用定位積木,將足球定位到舞台中心,接著透過「重複無限次」和「如果...那麼...否則」積木,判斷滑鼠正在拖拉足球 ( 滑鼠按下 + 滑鼠碰到足球 ),就讓足球移動到滑鼠的座標,反之如果放開滑鼠 ( 滑鼠按下不成立 ),就讓足球在 0.2 秒內移動回舞台中心。

Scratch 3 教學 - 拉不走的彈力球

完成後,切換到「專案頁面」,就能夠用滑鼠拖拉足球,放開滑鼠時,足球就會彈回中心點。

「程式頁面」本身可以拖拉角色,所以建議切換到「專案頁面」觀看效果。

Scratch 3 教學 - 拉不走的彈力球

接下加入擴充功能的「畫筆」,希望能做出讓拖拉足球時,出現一條將足球拉回中心點的線段,首先修改原本的程式,新增一個名稱為「滑鼠按下」的變數,將如果「碰到鼠標且滑鼠按下」的內容,修改為設定「滑鼠按下變數」為 1,如果「滑鼠按下不成立」,設定「滑鼠按下變數」為 0

因為到時候使用畫筆畫線,需要讓角色座標返回舞台中心,所以會造成原本的程式出現問題,所以要做一些修改。

Scratch 3 教學 - 拉不走的彈力球

放入第二組點擊綠旗的程式,使用重複無限次積木,每次重複時先「清除全部筆跡」和「停筆」,避免畫面上出現預期外的線條,接著判斷「滑鼠按下」變數如果等於 1,表示正在拖拉足球,就從舞台中心點畫線至滑鼠的座標,如果「滑鼠按下」變數等於 0,表示滑鼠放開,就讓讓足球移動回中心點 ( 此時會執行「清除全部筆跡」和「停筆」,所以線條就會消失 )

Scratch 3 教學 - 拉不走的彈力球

完成效果

完成後,切換到「專案頁面」,就能夠用滑鼠拖拉足球,並出現一條線連著足球,放開滑鼠時,足球就會彈回中心點。

Scratch 3 教學 - 拉不走的彈力球

範例解答

範例解答:拉不走的彈力球

關於我

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!


上一篇
Day 19 ( 中級 ) 電風扇 ( 控制強度 )
下一篇
Day21 ( 高級 ) 戳泡泡 ( 視訊偵測 )
系列文
Scratch 3 從入門到精通46
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言