資源簡介 Scratch編程 - 貓捉老鼠一、學習目標 1、復習坐標,方向等知識; 2、學習與鼠標的偵測條件; 3、學習如果那么否則的使用。二、項目分析添加角色與背景,游戲過程中伴隨音樂,游戲結束音樂停止。老鼠角色能夠跟隨鼠標指針移動,小貓追著老鼠移動,如果貓抓到老鼠程序結束;三、項目實踐1、添加角色與背景添加角色:Mouse1、Cat 2;背景:Bedroom 1,背景音樂:Dance Around2、角色初始化對角色進行初始化(大小,位置,方向,造型,背景,顯示/隱藏);這里的位置設置,我們可以讓角色移動到舞臺上的隨機位置背景音樂設置注意這里要使用等待播完。3、老鼠的移動老鼠可以跟隨鼠標移動,這里可以使用運動中的來實現,使用這個會發現老鼠緊緊跟隨移動,并沒有移動效果。前面我們學過在移動有兩種,一個是坐標移動,一個是移動10步,那這兩個區別在于移動10步是有方向的,那在這里我們能不能讓老鼠跟隨鼠標的方向移動。在運動中有模塊可以使角色面向鼠標指針方向。再配合著移動與循環這個時候就會跟隨我們鼠標方向來移動了。同時為了移動的效果老鼠是有移動的造型的,我們配合著造型的切換。注意:在這里因為造型切換有等待的事件,為了不影響角色的移動,把造型的切換與移動分開兩段程序。但是在這里會發現,老鼠移到位置后會來回移動,為什么呢?因為我們的方向是有一個界限的,如果這個方向就在角色的中間,那角色是分辨不出來是在哪邊的,隨意老鼠就會在原地一直搖晃看看到底是那邊。那如何解決這個問題。這里是因為方向的問題,剛才我們使用便沒有產生在這樣的問題;那能不能讓老鼠距離比較遠的時候去使用方向跟隨,近的時候就直接移動到位置上。這里我們可以使用控制中的分支模塊,這里面是滿足條件就進入到那么里面,不滿足條件就進入到否則里面。當然程序下面還可以再嵌套條件選擇 那這樣我們便可以使用多分支;判斷條件是到鼠標的距離如果距離近,如何表示距離近,距離是有單位的,是可以測量的,所以我們可以判斷一個數值,就小于10,則移動到鼠標指針位置如果沒有滿足,也就是距離遠,那進入到否則里,也就是面向鼠標方向移動。這樣就會發現老鼠不會左右晃動了。4、貓的行為小貓需要跟隨老鼠的方向去移動,那這里也就簡單了。這時會發現老鼠跟小貓會同時運動,這時為什么?這里我們老鼠的步數是移動10步,小貓的步數也是移動10步,這樣如果相遇之后,兩個角色就會同步走動了;那這里為了不同步可以讓貓走慢一點。5、行為觸發以上做好了后會發現,小貓出現了與老鼠一樣的問題,會晃動,同樣我們也可以像小貓那樣設置;但是,想一想如果貓碰到老鼠是不是就游戲結束了,老鼠要消失了。所以我們就不用設置老鼠的移動,做一個碰觸條件就可以了,那這里我們要寫在哪個角色下。要想一下誰的動作多一點,兩個角色觸碰,應該是老鼠消失,小貓不動停止。所以我們應該在老鼠上寫。那碰到的反應是什么呢?首先是老鼠發出一個聲音后消失,然后就結束所有程序。但是在這里沒有讓貓,音樂停止移動,這里是因為停止是在播放音樂之后的,要等音樂播完,那這樣的話這一段時間小貓與背景的程序是沒有停止的。這里我們可以通過廣播一個消息,讓角色與背景接收停止。注意這里不能停止全部腳本,因為音樂還沒有播完就停止了。所以在這里需要使用停止中的其他腳本(因為使用的是廣播,廣播目的就是停止主程序,主程序就是廣播的其他程序)。那為什么老鼠中沒寫呢?在老鼠中其實是可以寫的,如果寫了之后就要改變一下布局,要把播放等程序放在廣播程序之后。但是在這里碰觸到小貓之后便隱藏了,播放前停止播放后停止便看不出來效果了,所以我們還是使用原來方案,這樣程序也少了三個。四、項目完整程序五、作業與實踐 1、完成下列選擇題①執行哪一段程序后,小貓可以從舞臺的A位置,沿著B、C點到達D位置?A、 B、C、 D、②將項目的背景音樂設置為聲音庫里的“Birthday”并重復播放,為了避免運行時產生噪音,應該使用( )。A、 B、C、或D、和點擊查看答案1 D2 B2、完成項目程序。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫