資訊內(nèi)容
兒童編程啟蒙:3.基礎(chǔ):Scratch腳本標(biāo)簽
這一篇打算將Scratch腳本標(biāo)簽的10個(gè)模塊過(guò)一遍。
大家可能說(shuō)內(nèi)容會(huì)不會(huì)太多?我的回答是:不會(huì)!
-
第一,不是所有的模塊都需要細(xì)講,第一篇文章說(shuō)過(guò),Scratch的幫助指南做得特別友好,簡(jiǎn)單的模塊都可以通過(guò)幫助指南掌握清楚,只是需要大家動(dòng)手嘗試;
-
第二,腳本標(biāo)簽下的《數(shù)據(jù)》和《更多模塊》稍微高階一點(diǎn),放后面講;
-
第三,我想說(shuō)的是,對(duì)大多數(shù)指令模塊的學(xué)習(xí),只有通過(guò)實(shí)際做一些項(xiàng)目才能達(dá)到真正理解和掌握,所以這里只會(huì)提及我認(rèn)為比較重要需著重說(shuō)的知識(shí)點(diǎn)。
So這里我只會(huì)涉及到動(dòng)作、事件、控制和偵測(cè)四個(gè)模塊,外觀、聲音、畫筆、數(shù)字和邏輯運(yùn)算四個(gè)模塊比較簡(jiǎn)單,讓大家自己動(dòng)手學(xué)習(xí)了解。
另外,腳本區(qū)的指令積木很多種,遵循下圖的通用規(guī)則:
01
運(yùn)動(dòng)模塊
角色絕大多數(shù)都不是一個(gè)點(diǎn)那么小,當(dāng)角色在移動(dòng)、轉(zhuǎn)動(dòng)時(shí),在背景中所處的坐標(biāo)到底是角色的哪個(gè)位置為參照呢,答案是角色的中心點(diǎn),在Scratch這個(gè)體系中就是按角色的中心點(diǎn)來(lái)決定角色的在背景中位置以及旋轉(zhuǎn)中心。如果一個(gè)角色是在坐標(biāo)x:0 y:0這個(gè)位置,那么一定是這個(gè)角色的中心點(diǎn)在這個(gè)坐標(biāo),這個(gè)角色旋轉(zhuǎn)也是以這個(gè)點(diǎn)為中心旋轉(zhuǎn)。
我們手繪一個(gè)角色-正方形,將正方形的造型中心點(diǎn)設(shè)置為正方形正中間,然后加了段旋轉(zhuǎn)代碼,
再對(duì)比將正方形的造型中心點(diǎn)設(shè)置為正方形的左上角(同樣的代碼)。
如何設(shè)置角色的中心點(diǎn)呢?
先選中角色,然后點(diǎn)擊造型,選中右上角的設(shè)置造型中心,然后光標(biāo)變成十字,在點(diǎn)擊希望的中心點(diǎn)即可。
運(yùn)動(dòng)模塊中的代碼指令簡(jiǎn)介:
02
事件模塊
這個(gè)模塊下的指令積木都是觸發(fā)類,當(dāng)這個(gè)模塊中描述的事件發(fā)生時(shí),后面的代碼才會(huì)執(zhí)行。需要注意的一點(diǎn)是,這個(gè)模塊中積木的形狀,除了廣播消息有兩條積木有卡口外,其他積木指令上部都沒(méi)有卡口,說(shuō)明事件指令基本都是作為指令塊的第一條指令。
下圖中,鼠標(biāo)點(diǎn)擊紅色框中的綠旗,那么綠旗被點(diǎn)擊的事件發(fā)生,“移動(dòng)10步、向右旋轉(zhuǎn)15度....”這三句代碼就會(huì)被執(zhí)行。
再加一個(gè)“當(dāng)按下空格鍵”的事件代碼塊,那么當(dāng)我們按下空格鍵時(shí),小貓就先上移50步,等待0.5秒,然后下移50步。
這個(gè)事件模塊中需要著重講的是廣播指令,因?yàn)樗谶@個(gè)事件模塊里算稍微難一些,但它用得非常頻繁,是非常重要的指令。Scratch的消息廣播機(jī)制是用來(lái)協(xié)調(diào)各個(gè)角色間的行為的,任何角色都可以廣播帶有名稱的消息,這個(gè)名稱可以根據(jù)程序的需要自行指定,廣播的消息會(huì)發(fā)送給所有角色(包括當(dāng)前廣播這條消息的角色),只要積木指令“當(dāng)接收到abc”收到的消息名為abc的廣播,則這塊積木代碼觸發(fā)執(zhí)行。只要程序沒(méi)停止,“當(dāng)接收到abc”會(huì)一直等待并接收名為abc的廣播消息。
這里我們用一個(gè)小男孩和恐龍對(duì)話來(lái)演示廣播指令的使用,角色boy1的指令如下:1.當(dāng)綠旗被點(diǎn)擊,2.說(shuō)一句hello,3.廣播一條sayhi的消息出去
恐龍的指令如下:1.當(dāng)接受到sayhi消息 ?2.說(shuō) hi,boy!
相信大家通過(guò)這個(gè)演示能大概了解廣播的機(jī)制。另外“廣播xxxx消息并等待”與“廣播xxx”非常相似,但是前者會(huì)一直等待所有接收消息的腳本執(zhí)行完畢后才繼續(xù)往下執(zhí)行。
03
控制模塊
控制模塊顧名思義,就是控制程序的走向,涉及到等待、循環(huán)、判斷。循環(huán)分有限循環(huán)和無(wú)限循環(huán),有限循環(huán)是程序設(shè)計(jì)者知道循環(huán)次數(shù)時(shí)使用,無(wú)限循環(huán)一般用于偵測(cè)并等待某種事件的發(fā)生或者滿足某種條件前一直要做的事情。判斷家長(zhǎng)們多少有點(diǎn)熟悉,Scratch判斷僅僅是把if...和if...else做成了積木塊,沒(méi)啥好講的。控制模塊直觀上比較容易理解,但具體到應(yīng)用是非要考驗(yàn)邏輯思維的,這就需要腦袋中有清晰的程序流程圖,如果腦袋中這個(gè)流程圖還不清晰,請(qǐng)先在紙上畫出來(lái)再編程。關(guān)于程序流程圖我們?cè)诤罄m(xù)文章中會(huì)講到。
克隆是Scratch2中新引入的特性,“克隆自己(其他角色)”能快速?gòu)?fù)制出一模一樣的角色出來(lái),為了避免無(wú)限制創(chuàng)建克隆體將系統(tǒng)資源耗盡,目前限制只能克隆300次。當(dāng)一個(gè)克隆體被創(chuàng)建時(shí),它就會(huì)自動(dòng)啟動(dòng),同時(shí)激發(fā)事件:“ 當(dāng)作為克隆體啟動(dòng)時(shí)”。
這個(gè)演示中,正方形本體每次旋轉(zhuǎn)15度后克隆一個(gè)正方形不動(dòng),一共克隆24個(gè)正方形,每次克隆一個(gè)正方形就會(huì)觸發(fā)“當(dāng)作為克隆體啟動(dòng)”這個(gè)事件,所以這24個(gè)正方形3秒后被刪除消失。
04
偵測(cè)模塊
偵測(cè)模塊是用于偵測(cè)位置、聲音、視頻、以及沒(méi)有放入事件模塊中的其他事件,從指令積木的形狀來(lái)看,帶問(wèn)號(hào)的都是六邊形,可以嵌入控制模塊的判斷中,其他基本都是圓角矩形(帶卡口的是執(zhí)行語(yǔ)句,沒(méi)卡口的是變量類均需要嵌入其他語(yǔ)句),
偵測(cè)、控制兩個(gè)模塊平時(shí)聯(lián)系得特別緊密,比如偵測(cè)兩個(gè)角色是否碰到,是否碰到某種顏色等等,都需要涉及到判斷和循環(huán)。
既然是世界杯期間,這里用一個(gè)簡(jiǎn)單的踢足球的例子組合使用移動(dòng)、事件、控制、偵測(cè)、造型這些模塊!
為了讓小女孩走路顯得更自然,這個(gè)女孩角色有4個(gè)造型
足球的代碼和造型
最后效果是:
今天的內(nèi)容到這里結(jié)束了,歡迎大家評(píng)論給出建議。謝謝!
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除

- 上一篇
【Scratch教程】三分鐘教你學(xué)會(huì)“小貓行走”
編程的過(guò)程,就是將人類的想法按照一定的編碼規(guī)則,變成計(jì)算機(jī)可以識(shí)別的代碼和語(yǔ)言,讓計(jì)算機(jī)幫助我們實(shí)現(xiàn)數(shù)學(xué)運(yùn)算、事物處理和信息查詢等。不管程序大小,都需要大體框架,這種統(tǒng)籌規(guī)劃全局的思維幾乎在任何學(xué)習(xí)、工作項(xiàng)目中都要用到。
- 下一篇
兒童編程Scratch 3.0即將上線!
Scratch 3.0Beta版預(yù)計(jì)2018年8月上線,正式版預(yù)計(jì)上線時(shí)間2019年1月2日。