拉不走的彈力球
這篇文章會介紹,如何在 Scratch 裡使用擴充功能的畫筆、角色移動、重複無限次、偵測滑鼠按下、偵測碰到滑鼠...等積木,實作一個不管怎麼拉都拉不走,最後都會回到中心的彈力球。
角色設定
在角色編輯區,刪除貓咪角色,加入「足球」的角色 ( 參考:Scratch 角色設定 )。
積木程式原理
首先使用定位積木,將足球定位到舞台中心,接著透過「重複無限次」和「如果...那麼...否則」積木,判斷滑鼠正在拖拉足球 ( 滑鼠按下 + 滑鼠碰到足球 ),就讓足球移動到滑鼠的座標,反之如果放開滑鼠 ( 滑鼠按下不成立 ),就讓足球在 0.2 秒內移動回舞台中心。
完成後,切換到「專案頁面」,就能夠用滑鼠拖拉足球,放開滑鼠時,足球就會彈回中心點。
「程式頁面」本身可以拖拉角色,所以建議切換到「專案頁面」觀看效果。
接下加入擴充功能的「畫筆」,希望能做出讓拖拉足球時,出現一條將足球拉回中心點的線段,首先修改原本的程式,新增一個名稱為「滑鼠按下」的變數,將如果「碰到鼠標且滑鼠按下」的內容,修改為設定「滑鼠按下變數」為 1,如果「滑鼠按下不成立」,設定「滑鼠按下變數」為 0。
因為到時候使用畫筆畫線,需要讓角色座標返回舞台中心,所以會造成原本的程式出現問題,所以要做一些修改。
放入第二組點擊綠旗的程式,使用重複無限次積木,每次重複時先「清除全部筆跡」和「停筆」,避免畫面上出現預期外的線條,接著判斷「滑鼠按下」變數如果等於 1,表示正在拖拉足球,就從舞台中心點畫線至滑鼠的座標,如果「滑鼠按下」變數等於 0,表示滑鼠放開,就讓讓足球移動回中心點 ( 此時會執行「清除全部筆跡」和「停筆」,所以線條就會消失 )
完成效果
完成後,切換到「專案頁面」,就能夠用滑鼠拖拉足球,並出現一條線連著足球,放開滑鼠時,足球就會彈回中心點。
範例解答
範例解答:拉不走的彈力球
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~