您現在的位置是:首頁 » scratch編程資訊
資訊內容
Scratch教程(九)——打磚塊游戲
極客小將2020-11-17-
前言
有一段時間沒有更新Scratch教程,一來是孩子開始學習Python編程,在解決實際問題的時候畢竟Scratch這種玩具式的語言還是很難勝任的;二來是由于學校一直推行的是logo語言編程。不過這種狀況已經改變,從今年開始,學校終于打算開設Scratch課程,對于初學計
前言
有一段時間沒有更新Scratch教程,一來是孩子開始學習Python編程,在解決實際問題的時候畢竟Scratch這種玩具式的語言還是很難勝任的;二來是由于學校一直推行的是logo語言編程。不過這種狀況已經改變,從今年開始,學校終于打算開設Scratch課程,對于初學計算機的同學而言,這種玩具式的語言在訓練學生們流程化、邏輯化思維方面還是有一些用處的,但也由于這種語言本身的特點,決定了在實現某些功能時,必須采用一些獨特的方法。這次課程以一個“打磚塊”的小游戲來講解Scratch在角色選取、克隆體、廣播消息、隨機數等方面的一些應用,請同學們跟著教程一步步來,自然能實現自己的小游戲,同時可根據個人的喜好對相關的角色進行修改,甚至對游戲進行擴充等等。先來看一下效果:
“打磚塊”游戲邏輯
打磚塊的小游戲對于許多同學來說是熟悉的,這個小游戲的邏輯如下:1、添加擋板、小球、磚塊等角色;2、設置擋板隨鼠標移動;3、設置小球不斷運行,在遇到擋板時反彈;4、設置磚塊被小球擊中時消失,并克隆下一個磚塊;5、設置計分;6、判斷游戲結束(以小球低于檔板為游戲結束)。
添加角色
這幾種角色都可以在角色庫中選取,當然也可以自己繪制,這里選取的角色如下圖所示:
設置檔板隨鼠標移動
這個小游戲中,我們只需要檔板在某個高度左右移動即可,這就需要設置其在跟隨鼠標移動的同時,固定其縱坐標。代碼塊圖如下:
小球的移動
在游戲開始的時候,我們要給小球一個初始角度,這個角度在這兒選取的是0~60度,即向右上方移動,之后就重復執行移動,在這個循環體中進行三種檢測:一是檢測是否碰到檔板,在碰到檔板時讓小球反彈,這就需要設置反彈角度為180度-小球原方向;二是檢測是否碰到邊緣,這個有現成的模塊——“碰到邊緣就反彈”;三是檢測小球是否向下越過了檔板,這是游戲是否結束的檢測。小球的代碼塊圖如下:
磚塊的克隆及克隆體檢測
為了方便磚塊的生成,我們在這里采用磚塊的克隆體,在最初時,先克隆一個,再將本體隱藏,之后以克隆體本身來檢測是否被小球碰到,如果碰撞了,就再克隆一個自己,同時將自己刪除,代碼塊圖如下:
計分
為了計分,需要新建一個變量,在磚塊的克隆體被小球擊中時,該變量增加1,關于這一點,在磚塊的代碼塊圖中已經有顯示,請同學們留意。游戲結束
當小球向下運動低于檔板時,發出廣播消息“GAME OVER",在我們自己創建的gameover角色代碼中檢測該消息,當其收到游戲結束的消息時,顯示該圖片以表示游戲結束,代碼圖如下:
小結
本文對于“打磚塊”小游戲進行了仔細講解,這個小游戲的設計并不難,只不過其中涉及克隆體的部分要同學們仔細揣摩,克隆體在創建出來后,可以在某些情形下等同于角色來操作,這一點是要注意的。聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
