資訊內(nèi)容
兒童編程啟蒙:3.基礎(chǔ):Scratch腳本標(biāo)簽
這一篇打算將Scratch腳本標(biāo)簽的10個模塊過一遍。
大家可能說內(nèi)容會不會太多?我的回答是:不會!
-
第一,不是所有的模塊都需要細講,第一篇文章說過,Scratch的幫助指南做得特別友好,簡單的模塊都可以通過幫助指南掌握清楚,只是需要大家動手嘗試;
-
第二,腳本標(biāo)簽下的《數(shù)據(jù)》和《更多模塊》稍微高階一點,放后面講;
-
第三,我想說的是,對大多數(shù)指令模塊的學(xué)習(xí),只有通過實際做一些項目才能達到真正理解和掌握,所以這里只會提及我認為比較重要需著重說的知識點。

So這里我只會涉及到動作、事件、控制和偵測四個模塊,外觀、聲音、畫筆、數(shù)字和邏輯運算四個模塊比較簡單,讓大家自己動手學(xué)習(xí)了解。
另外,腳本區(qū)的指令積木很多種,遵循下圖的通用規(guī)則:


01
運動模塊
角色絕大多數(shù)都不是一個點那么小,當(dāng)角色在移動、轉(zhuǎn)動時,在背景中所處的坐標(biāo)到底是角色的哪個位置為參照呢,答案是角色的中心點,在Scratch這個體系中就是按角色的中心點來決定角色的在背景中位置以及旋轉(zhuǎn)中心。如果一個角色是在坐標(biāo)x:0 y:0這個位置,那么一定是這個角色的中心點在這個坐標(biāo),這個角色旋轉(zhuǎn)也是以這個點為中心旋轉(zhuǎn)。
我們手繪一個角色-正方形,將正方形的造型中心點設(shè)置為正方形正中間,然后加了段旋轉(zhuǎn)代碼,

再對比將正方形的造型中心點設(shè)置為正方形的左上角(同樣的代碼)。

如何設(shè)置角色的中心點呢?
先選中角色,然后點擊造型,選中右上角的設(shè)置造型中心,然后光標(biāo)變成十字,在點擊希望的中心點即可。

運動模塊中的代碼指令簡介:

02
事件模塊
這個模塊下的指令積木都是觸發(fā)類,當(dāng)這個模塊中描述的事件發(fā)生時,后面的代碼才會執(zhí)行。需要注意的一點是,這個模塊中積木的形狀,除了廣播消息有兩條積木有卡口外,其他積木指令上部都沒有卡口,說明事件指令基本都是作為指令塊的第一條指令。
下圖中,鼠標(biāo)點擊紅色框中的綠旗,那么綠旗被點擊的事件發(fā)生,“移動10步、向右旋轉(zhuǎn)15度....”這三句代碼就會被執(zhí)行。

再加一個“當(dāng)按下空格鍵”的事件代碼塊,那么當(dāng)我們按下空格鍵時,小貓就先上移50步,等待0.5秒,然后下移50步。

這個事件模塊中需要著重講的是廣播指令,因為它在這個事件模塊里算稍微難一些,但它用得非常頻繁,是非常重要的指令。Scratch的消息廣播機制是用來協(xié)調(diào)各個角色間的行為的,任何角色都可以廣播帶有名稱的消息,這個名稱可以根據(jù)程序的需要自行指定,廣播的消息會發(fā)送給所有角色(包括當(dāng)前廣播這條消息的角色),只要積木指令“當(dāng)接收到abc”收到的消息名為abc的廣播,則這塊積木代碼觸發(fā)執(zhí)行。只要程序沒停止,“當(dāng)接收到abc”會一直等待并接收名為abc的廣播消息。
這里我們用一個小男孩和恐龍對話來演示廣播指令的使用,角色boy1的指令如下:1.當(dāng)綠旗被點擊,2.說一句hello,3.廣播一條sayhi的消息出去

恐龍的指令如下:1.當(dāng)接受到sayhi消息 ?2.說 hi,boy!


相信大家通過這個演示能大概了解廣播的機制。另外“廣播xxxx消息并等待”與“廣播xxx”非常相似,但是前者會一直等待所有接收消息的腳本執(zhí)行完畢后才繼續(xù)往下執(zhí)行。
03
控制模塊
控制模塊顧名思義,就是控制程序的走向,涉及到等待、循環(huán)、判斷。循環(huán)分有限循環(huán)和無限循環(huán),有限循環(huán)是程序設(shè)計者知道循環(huán)次數(shù)時使用,無限循環(huán)一般用于偵測并等待某種事件的發(fā)生或者滿足某種條件前一直要做的事情。判斷家長們多少有點熟悉,Scratch判斷僅僅是把if...和if...else做成了積木塊,沒啥好講的。控制模塊直觀上比較容易理解,但具體到應(yīng)用是非要考驗邏輯思維的,這就需要腦袋中有清晰的程序流程圖,如果腦袋中這個流程圖還不清晰,請先在紙上畫出來再編程。關(guān)于程序流程圖我們在后續(xù)文章中會講到。

克隆是Scratch2中新引入的特性,“克隆自己(其他角色)”能快速復(fù)制出一模一樣的角色出來,為了避免無限制創(chuàng)建克隆體將系統(tǒng)資源耗盡,目前限制只能克隆300次。當(dāng)一個克隆體被創(chuàng)建時,它就會自動啟動,同時激發(fā)事件:“ 當(dāng)作為克隆體啟動時”。

這個演示中,正方形本體每次旋轉(zhuǎn)15度后克隆一個正方形不動,一共克隆24個正方形,每次克隆一個正方形就會觸發(fā)“當(dāng)作為克隆體啟動”這個事件,所以這24個正方形3秒后被刪除消失。
04
偵測模塊
偵測模塊是用于偵測位置、聲音、視頻、以及沒有放入事件模塊中的其他事件,從指令積木的形狀來看,帶問號的都是六邊形,可以嵌入控制模塊的判斷中,其他基本都是圓角矩形(帶卡口的是執(zhí)行語句,沒卡口的是變量類均需要嵌入其他語句),
偵測、控制兩個模塊平時聯(lián)系得特別緊密,比如偵測兩個角色是否碰到,是否碰到某種顏色等等,都需要涉及到判斷和循環(huán)。

既然是世界杯期間,這里用一個簡單的踢足球的例子組合使用移動、事件、控制、偵測、造型這些模塊!
為了讓小女孩走路顯得更自然,這個女孩角色有4個造型

足球的代碼和造型

最后效果是:

今天的內(nèi)容到這里結(jié)束了,歡迎大家評論給出建議。謝謝!
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除
