打磚塊
這篇文章會延伸「反彈球」的範例,搭配 Scratch 3 裡的分身、函式、重複次數、邏輯判斷、碰到角色...等積木,實作打磚塊的小遊戲。
角色設定
開啟「反彈球 ( 乒乓球 )」的範例,從這個範例進行修改。
在角色編輯區,使用繪畫,增加「磚塊」新角色 ( 參考:造型與繪圖 )。
將磚塊角色的大小和位置,按照下圖進行排列 ( 放在舞台的左上角 )。
積木程式原理 ( 板子 )
點擊「板子」角色,先編輯板子的位置,讓板子和地面高度重疊 ( 範例中將 y 改成 -150 ):
積木程式原理 ( 球 )
點擊「球」角色,編輯球的程式,讓一開始的時候,球會跟隨滑鼠移動,直到按下滑鼠才會發射出去。
- 將 135 度改成 45 度,朝右上發射。
- 使用「重複...直到」積木,將球定位在滑鼠的 x 位置,y 座標定位在 -120,直到按下滑鼠才繼續下方程式。
複製「如果碰到板子」的區塊,將複製的區塊放到下方,改成「如果碰到磚塊」。
積木程式原理 ( 磚塊 )
編輯「磚塊」角色,使用分身的方式,讓舞台上方出現很多排列整齊的磚塊:
- 放入當綠旗被點擊的積木。
- 點擊綠旗後,將磚塊定位到左上方。
- 隱藏本尊。
- 使用「重複 8 次」積木,每次重複建立自己的分身,並將往右移動 60 點 ( x 改變 60 )。
- 當分身產生後,顯示分身。
點擊綠旗後,舞台上方就會出現一排磚塊。
依此類推,複製產生八個分身的程式放在下方,改變 x 和 y 的位置,使得產生八個分身之後會移動到下一列的開頭。
點擊綠旗後,舞台上方就會出現三排磚塊。
在執行時,會看見磚塊「一塊一塊產生」,如果要避免這個問題 ( 希望一次看到 24 塊磚塊,而不是一塊塊出現 ),可以建立一個函式來處理,在左側清單的「函式積木」裡點選「建立一個積木」,建立一個名為「產生磚塊」的函式,勾選「執行完畢再更新畫面」。
「執行完畢再更新畫面」的功能,可以讓函式內不需要等待的程式快速執行,加快畫面運行速度。
函式建立後,將剛剛三段「重複 8 次」區塊,放到函式裡,點擊綠旗後,執行「產生磚塊」函式。
在建立分身之後,加入重複無限次積木,判斷如果「磚塊碰到球」,就刪除分身。
完成效果
完成後,點擊綠旗,就可以開始進行打磚塊的遊戲 ( 按下滑鼠發射球 )。
範例解答
範例解答:打磚塊
延伸練習
如果已經熟悉了打磚塊的原理,還可以嘗試更多好玩的作法:
- 改變磚塊顏色,並加入「碰到磚塊的音效」。( 解答 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~